Git голые - что для резервного копирования? - PullRequest
8 голосов
/ 22 декабря 2010

Извините, если это рассматривается в другом месте, но я не могу найти ответ.

У меня есть голое хранилище, называемое bare.git, которое является хранилищем, из которого клонируются репозитории dev. Все хорошо работает.

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

Есть три основные причины, по которым я хочу узнать эту информацию:

  1. Нам нужно знать, что делать резервное копирование.
  2. Мой босс хочет знать, куда ушел исходный код.
  3. Нам нужна текущая составная версия для тестирования.

Ответы [ 3 ]

6 голосов
/ 22 декабря 2010

Ваши исходные файлы хранятся как часть индекса внутри структуры файла bare.git, которая такая же, как у вас в каталоге .git любого из ваших клонов.

Итак, лучше всего сделать полную резервную копию bare.git.

Вы можете получить текущую версию для тестирования, клонировав свой репо.

5 голосов
/ 22 декабря 2010

Почему бы вам не сделать резервную копию всего репо?

См. Модель объектов Git и Как Git хранит объекты .

1 голос
/ 22 декабря 2010

Резервное копирование всей папки bare.git , чтобы не пропустить ее, вы всегда можете клонировать ее позже.

Если вы хотите проверить исходный код, вам нужно его клонировать. В статье Использование Git для управления веб-сайтом показан один из способов решения проблемы путем проверки всего репо после каждого нажатия на bare.git , конечно же, автоматически. Этот код - то, что вы должны проверить (если вы не хотите делать это перед нажатием на bare.git, в pre-commit или pre-receive .

...