Как сделать резервную копию git-репо?

Я планирую перейти с SVN на git. С svn я просто копирую свою папку репозитория, когда хочу сделать резервную копию. Однако у Git его нет, так что мне делать?

Должен ли я создать клон на отдельном диске и обновить его, извлекая из моего проекта? Тогда я могу записать / заархивировать эту папку, и она будет иметь всю историю?

Это, вероятно, очевидно, но я хочу убедиться, когда дело доходит до резервных копий. Я до сих пор делаю вид, что есть хранилище корней.

5 ответов

Решение

Вы просто копируете это. Git использует папку репо, она просто скрыта от обычных представлений каталогов. (Папка называется .git в системах *nix, поэтому он появляется только при использовании ls -a, Я предполагаю, что он устанавливает атрибут "скрытый" в Windows, но я никогда не использовал git в среде Windows, поэтому я не уверен, как он там обрабатывается.)

Ответ Акиры правильный, но вы можете добавить --mirror, чтобы создать голое хранилище (для резервной копии немного меньшего размера).

Мы используем следующую стратегию (почти точно):

git clone --mirror yourrepo backup.repo
tar cjf backup.repo.tar.bz2 backup.repo
scp backup.tar.bz2 ssh://somewhereelse

Затем, чтобы восстановить из вашей резервной копии:

tar xjf backup.repo.tar.bz2
git clone backup.repo yourrepo

Я использую Git Bundle. Для создания файла копии (одного файла резервной копии) выполните:

git bundle create backup.bundle master

Чтобы восстановить репозиторий с мастером веток, просто клонируйте файл backup.bundle:

git clone backup.bundle -b master my-project

Создайте новый клон где-нибудь еще:

 % git clone yourepo somewhereelse

Кстати, у git есть папка репозитория, вы можете найти ее в своей рабочей копии под подкаталогом .git, каждая рабочая копия имеет эту "папку репо".

Я не хочу повторять другие ответы (резервное копирование каталога .git — хорошее начало, которое должно сработать, если вы единственный человек, работающий над репозиторием), поэтому я просто добавлю, что вы можете попробовать нашу резервную копию GitHub. Полное раскрытие :
я работайте в компании, которая создает это решение для резервного копирования.

Другие вопросы по тегам