Я имею большой успех с git push --mirror
сделать резервные копии к пустому repo. Но после поиска на ТАК и в другом месте, я не могу найти способ клонировать вещь локально со всеми ответвлениями. Я не хочу использовать git clone
так как я не хочу, чтобы мой локальный repo знал о пустом repo. Если я использую git pull
это только снижает ГЛАВНОЕ ответвление.
Предположение:
git pull /data/Dropbox/backup/that_stuff.git *
не получает меня нигде, конечно.
Как я получаю весь repo со всеми ответвлениями назад снова? Я понимаю, что мог, вероятно, просто скопировать пустой repo в свой .git каталог, но это походит на плохую идею.
Попробуйте git fetch
вместо git pull
Так как git pull
существует для того, чтобы взять ответвление и слить его с локальным ответвлением, то нет смысла пытаться слить все удалённые ответвления с локальным ответвлением.
$ git fetch a-repo_url
Вышеприведенная команда копирует все ветки из удаленного пространства имен refs/heads/
и сохраняет их в локальное пространство имен refs/remotes/remoteRpo/
, , если только опция branch.
не используется для задания Refspec по умолчанию. .
Попробуйте:
$ git fetch a-repo-url +refs/heads/*:refs/heads/*
может заставить забрать все головки для всех ветвей.
См. этот SO вопрос .
ОП год сообщает:
git pull /data/Dropbox/backup/mjdj.git/ +refs/heads/*:refs/heads/*
работает.