Резервное копирование Git-репозитория с сервера Xcode
У меня есть сервер OSX с активированной службой Xcode. На сервере размещено несколько репозиториев git, git автоматически устанавливается сервисным сервером Xcode.
Я использую Time Machine, но проблема в том, что у меня есть не резервная копия каждого репозитория, а только резервная копия всего сервера.
Могу ли я увидеть репозитории в резервной копии Time Machine, или в git есть какая-то более простая команда, которая позволяет мне делать резервные копии?
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
раздев самый длинный матч */
с начала строки.
Это вдохновлено вопросом переполнения стека об итерации по ветвям.