Подтвердить что ты не робот

Каков наилучший способ создать резервную копию всего репозитория git на внешнем диске?

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

4b9b3361

Ответ 1

Копирование всей рабочей копии с использованием обычных команд копирования файловой системы отлично работает. Вы также можете сделать zip/tar резервную копию.

Если вас беспокоит дисковое пространство, вы также можете посмотреть " git bundle", который может создавать меньшие файлы.

Вы также можете получить инкрементные резервные копии, просто запустив новое репо на внешнем диске (git clone), а затем каждый раз извлекайте изменения (git pull). Между резервной копией и рабочей копией в распределенной системе нет большой разницы, например git.

Ответ 2

Если у вас нет каких-либо изменений для резервного копирования в рабочем дереве, вы можете использовать git clone --mirror для создания голого клона со всеми refs (ветками, тегами, абсолютно всем), скопированными дословно. Затем вы можете использовать git push --mirror, чтобы он обновлялся инкрементно. Это то, для чего он предназначен.

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

Ответ 3

Это единственный способ сделать это, не клонируя репозиторий на внешний диск. Но любой подход примерно эквивалентен, за исключением того, что копирование вашего клона будет сохранять любые настройки конфигурации, специфичные для репо.

Ответ 4

Подводя итог,

  • Вы можете просто скопировать каталог damn, уверен, что он работает.
  • Вы можете клонировать.
  • Вы можете git bundle или git archive

Вы также можете,

который вы можете сбросить в один файл, который позже можно импортировать.

$ git fast-export --all | (cd /empty/repository && git fast-import)

Ответ 5

Здесь нет ошибок, git - полностью распределенный SCM. Копирование рабочей копии с каталогом .git является достаточной резервной копией.

Ответ 6

Копирование всего объекта или использование инструмента синхронизации в порядке. Репо полностью содержит и переносит.