В качестве альтернативы выбранному ответу и с той же безопасной семантикой 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()
[...] есть ли способ обновить существующую конфигурацию, чтобы использовать новый путь?
blockquote>Если я правильно понимаю ваш вопрос, у вас в настоящее время есть репозиторий на маленький, но быстрый HD, и вы хотели бы
- переместить каталог репо
.git
в большой & amp; медленный HD,- , но при этом сохраните рабочее дерево репо на малом & amp; быстрый HD.
Прав ли я?
В этом случае,
git init --separate-git-dir
прямо в вашем переулке. Цитируя справочную страницуgit init
:
--separate-git-dir=<git dir>
Вместо того, чтобы инициализировать репозиторий как каталог с$GIT_DIR
или./.git/
, создайте там текстовый файл содержащий путь к реальному хранилищу. Этот файл действует как независимая от файловой системы Git символическая ссылка на хранилище.Если это повторная инициализация, хранилище будет перемещено по указанному пути.
blockquote>Итак, просто
cd
в репозиторий, а затем выполнитеgit init --separate-git-dir <desired-location-on-big-and-slow-drive>
Я полагаю Я могу передать
blockquote>git init
эту новый путь для новых проектов [...]Исправить. Используйте ту же команду, что и выше.
Да, вы можете.
Вариант 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
отправить все туда
git remote add origin git@yourgit.repo
git remote -v