Я сжигаю свои вещи на dvd, прежде чем быстро переустановить. Никогда не делайте этого с git, будучи последним пользователем. Поэтому я просто проверяю с тобой парни. Если я правильно понял, мне просто нужно создать резервную копию моего проекта project_name (у которого есть .git внутри него), наблюдая за скрытыми файлами вместе с ним, и когда я копирую его на "новую" машину и снова устанавливаю git, я как ничего не случилось? Правильно?
Резервное копирование проекта, который использует git
Ответ 1
Угу. это так.
Ответ 2
Если вы хотите создавать резервные копии файлов проекта (без истории), вы можете использовать git archive
(в этом случае у меня нет "смотреть скрытый файл" )
script git-archive-all.sh
фактически заархивирует все репозитории и подмодули git в текущем пути.
Полезно для создания одного tar файла суперпроекта git, который содержит другие подмодули.
Как Чарльз Бейли справедливо упоминает в комментариях git bundle
является более подходящим, чтобы сохранить историю. (git bundle
был введен в февраль 2007 г.).
См. Резервное копирование репозитория git с пакетом git
git bundle
был разработан, чтобы разрешить передачу git, если нет прямого соединения между репозиториями (то есть: в автономном режиме), но использование патчей не является опцией из-за большого количества коммитов и нескольких ветвей.
Agit bundle
- это всего лишь один файл, который можно легко создать и снова импортировать, поскольку его можно рассматривать как другой пульт. Быстрый пример:
[email protected]:~/devel$ git bundle create ~/devel.bdl master test
и пакет сохраняется в
~/devel.bdl
, содержащем мои мастерские и тестовые ветки.
Если я сейчас в репозитории B, я просто использую[email protected]:~$ git ls-remote devel.bdl
, который показывает мне ветки, хранящиеся в комплекте.
Чтобы использовать пакет, я просто рассматриваю его как удаленный, используя git fetch (например)
[email protected]:~/git/repoB$ git fetch ~/devel.bdl refs/heads/\*:refs/remotes/bundle/\*