Противоположность 'нажатия мерзавца - зеркало'? Как я получаю свой repo назад?

Я имею большой успех с git push --mirror сделать резервные копии к пустому repo. Но после поиска на ТАК и в другом месте, я не могу найти способ клонировать вещь локально со всеми ответвлениями. Я не хочу использовать git clone так как я не хочу, чтобы мой локальный repo знал о пустом repo. Если я использую git pull это только снижает ГЛАВНОЕ ответвление.

Предположение:

git pull /data/Dropbox/backup/that_stuff.git *

не получает меня нигде, конечно.

Как я получаю весь repo со всеми ответвлениями назад снова? Я понимаю, что мог, вероятно, просто скопировать пустой repo в свой .git каталог, но это походит на плохую идею.

6
задан Dan Rosenstark 6 February 2010 в 15:58
поделиться

1 ответ

Попробуйте git fetch вместо git pull

Так как git pull существует для того, чтобы взять ответвление и слить его с локальным ответвлением, то нет смысла пытаться слить все удалённые ответвления с локальным ответвлением.

$ git fetch a-repo_url

Вышеприведенная команда копирует все ветки из удаленного пространства имен refs/heads/ и сохраняет их в локальное пространство имен refs/remotes/remoteRpo/, , если только опция branch..fetch не используется для задания Refspec по умолчанию. .
Попробуйте:

$ git fetch a-repo-url +refs/heads/*:refs/heads/*

может заставить забрать все головки для всех ветвей.
См. этот SO вопрос .


ОП год сообщает:

git pull /data/Dropbox/backup/mjdj.git/ +refs/heads/*:refs/heads/*

работает.

2
ответ дан 17 December 2019 в 20:31
поделиться
Другие вопросы по тегам:

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