Резервное копирование Git-репозитория с сервера Xcode

651
Mattia Lancieri

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

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

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

0
Но если вы откроете папку Time Machine на диске Time Machine, вы увидите все фактические папки, которые были скопированы с сервера. У вас будет доступ к каждому голому Git-репозиторию, тогда тоже нет? Что касается резервных копий Git, см. «Архив git»: http://git-scm.com/docs/git-archive. slhck 9 лет назад 0
архив git выглядит отлично, спасибо я попробовал это на ветке "master", но есть ли способ запустить zip для каждой ветки? Mattia Lancieri 9 лет назад 0

1 ответ на вопрос

1
slhck

When you open your Time Machine backup folder on the Time Machine volume, you can still see each individual directory, so wherever your Git repositories are stored as bare repos, you will be able to find and copy them.

You can also archive a Git repository with the git archive command.

git archive -o archive.zip master 

If you want to do that for all branches, you could do something like:

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

The substitution $ will convert refs/heads/master to master by stripping the longest match of */ from the beginning of the string.

This is inspired by a Stack Overflow question about iterating through branches.

переменная $ branch содержит полный путь (например, «refs /heads / master»), поэтому я выполнил подстроку git archive -o "$ .zip" $ branch. Я не знаю, есть ли лучший способ .... Mattia Lancieri 9 лет назад 0
Ах, возможно `$ ` - это то, что вы хотите. Смотрите мой обновленный пост! slhck 9 лет назад 0