Я планирую перейти с SVN на git. С svn я просто копирую свою папку репозитория, когда хочу сделать резервную копию. Однако у Git его нет, так что мне делать?
Должен ли я создать клон на отдельном диске и обновить его, извлекая из моего проекта? Тогда я могу записать / заархивировать эту папку, и она будет иметь всю историю?
Это, вероятно, очевидно, но я хочу убедиться, когда дело доходит до резервных копий. Я до сих пор делаю вид, что есть хранилище корней.
Ответы:
Вы просто копируете это. мерзавец делает использовать папку репо, это просто скрыто от обычного директивных. (Папка названа
.git
в * nix системах, поэтому она появляется только при использованииls -a
. Я предполагаю, что она устанавливает атрибут «скрытый» в Windows, но я никогда не использовал git в среде Windows, поэтому я не уверен насчет как это там обрабатывается.)источник
.git
с атрибутом «скрытый»..git
каталог содержит все состояние хранилища, включая историю. (Это «распределенная» часть.)Ответ Акиры правильный, но вы можете добавить --mirror, чтобы создать голое хранилище (для резервной копии немного меньшего размера).
Мы используем следующую стратегию (почти точно):
Затем, чтобы восстановить из вашей резервной копии:
источник
Я использую Git Bundle . Для создания файла копии (одного файла резервной копии) выполните:
Чтобы восстановить репозиторий с мастером веток, просто клонируйте файл backup.bundle:
источник
создайте новый клон где-нибудь еще:
Кстати, у git есть папка репо, вы можете найти ее в своей рабочей копии под подкаталогом
.git
. каждая рабочая копия имеет эту «папку репо».источник