Можно ли указать новое местоположение локального git-репозитория для существующего конфига?

В качестве альтернативы выбранному ответу и с той же безопасной семантикой Marcel's, вот компактный способ использования словаря Python для указания значений. Это полезно для простого изменения при добавлении или удалении столбцов для вставки:

  meta_cols=('SongName','SongArtist','SongAlbum','SongGenre')
  insert='insert into Songs ({0}) values ({1})'.
        .format(','.join(meta_cols), ','.join( ['%s']*len(meta_cols) ))
  args = [ meta[i] for i in meta_cols ]
  cursor=db.cursor()
  cursor.execute(insert,args)
  db.commit()

Где мета - словарь, содержащий значения для вставки. Обновление может быть выполнено аналогичным образом:

  meta_cols=('SongName','SongArtist','SongAlbum','SongGenre')
  update='update Songs set {0} where id=%s'.
        .format(','.join([ '{0}=%s'.format(c) for c in meta_cols ]))
  args = [ meta[i] for i in meta_cols ]
  args.append( songid )
  cursor=db.cursor()
  cursor.execute(update,args)
  db.commit()
1
задан Daveh0 15 January 2019 в 15:49
поделиться

3 ответа

[...] есть ли способ обновить существующую конфигурацию, чтобы использовать новый путь?

Если я правильно понимаю ваш вопрос, у вас в настоящее время есть репозиторий на маленький, но быстрый HD, и вы хотели бы

  • переместить каталог репо .git в большой & amp; медленный HD,
  • , но при этом сохраните рабочее дерево репо на малом & amp; быстрый HD.

Прав ли я?

В этом случае, git init --separate-git-dir прямо в вашем переулке. Цитируя справочную страницу git init :

--separate-git-dir=<git dir> Вместо того, чтобы инициализировать репозиторий как каталог с $GIT_DIR или ./.git/, создайте там текстовый файл содержащий путь к реальному хранилищу. Этот файл действует как независимая от файловой системы Git символическая ссылка на хранилище.

Если это повторная инициализация, хранилище будет перемещено по указанному пути.

Итак, просто cd в репозиторий, а затем выполните

git init --separate-git-dir <desired-location-on-big-and-slow-drive>

Я полагаю Я могу передать git init эту новый путь для новых проектов [...]

Исправить. Используйте ту же команду, что и выше.

0
ответ дан jubobs 15 January 2019 в 15:49
поделиться

Да, вы можете.

Вариант 1 (предпочтительный): зеркалирование

Просто запустите эти команды для зеркалирования хранилища:

git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git

Подробнее о зеркалировании здесь

Вариант 2: Ручное клонирование & amp; push

Первым шагом является git clone хранилище в локальном каталоге.

Затем вы добавляете новый удаленный репозиторий, используя git remote add <name> <url>

Затем вы можете просто git push <name> --all отправить все туда

0
ответ дан Daniel Trugman 15 January 2019 в 15:49
поделиться

Добавление нового удаленного git в Git Repo

git remote add origin git@yourgit.repo

Проверка нового дистанционного репо

git remote -v

0
ответ дан Muhammad Ayaz 15 January 2019 в 15:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: