У меня есть сервер OSX с активированной службой Xcode. На сервере размещено несколько репозиториев git, git автоматически устанавливается сервисным сервером Xcode.

Я использую Time Machine, но проблема в том, что у меня есть не резервная копия каждого репозитория, а только резервная копия всего сервера.

Могу ли я увидеть репозитории в резервной копии Time Machine, или в git есть какая-то более простая команда, которая позволяет мне делать резервные копии?

1 ответ1

1

Когда вы открываете папку резервного копирования Time Machine на томе Time Machine, вы по-прежнему можете видеть каждый отдельный каталог, поэтому, где бы вы ни хранили репозитории Git в виде пустых репозиториев, вы сможете найти и скопировать их.

Вы также можете заархивировать Git-репозиторий с помощью команды git archive.

git archive -o archive.zip master

Если вы хотите сделать это для всех веток, вы можете сделать что-то вроде:

for branch in $(git for-each-ref --format='%(refname)' refs/heads/); do
    git archive -o "${branch##*/}.zip" $branch
done

Подстановка ${branch##*/} преобразует refs/heads/master в master , удаляя самое длинное совпадение */ с начала строки.

Это вдохновлено вопросом переполнения стека об итерации по ветвям.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .