2012-06-29 3 views
3

Я хочу использовать GIT в качестве резервного решения. У меня есть общая сеть Windows в моей Компании и Centos Server. Каждый пользователь имеет уникальную общую папку, в которой находятся все файлы пользователя. У нас есть 2 разработчика, у них может быть git repo (s).Вложенные и независимые репозитории GIT, для резервного копирования, как?

Как я могу сделать всю папку пользователя репозиторией GIT, выполнять обычные операции git, commit, push и т. Д., Без импорта, если вложенные папки имеют git-repos?

Примечание: Субмодули не являются решением, я не знаю, какие хранилища находятся под основной папкой пользователя.

ответ

2

Есть целый ряд причин, почему Git не делает хорошее решения для резервного копирования:

  • вы не можете иметь вложенные Git репозиториев - нет никакого способа, чтобы заставить Git для лечения вложенной .git каталога как нормальные каталог
  • он не сохраняет полные права доступа и владелец
  • его формат индекс не масштабируется для многих файлов
  • не работать с большими файлами (он работает из памяти, потому что он должен поместить весь файл память ess - или, по крайней мере, это было верно примерно год назад, возможно, они исправили его)
  • , в то время как сжатие хорошо для исходного кода, это не очень хорошо для изображений виртуальной машины и т. д.
  • резервное копирование до удаленная система включает в себя резервное копирование локально первый
  • нет защиты от повреждения файлов резервной копии

Это, как говорится, есть несколько причин, почему Git было бы удивительным, как решение для резервного копирования:

  • каждый резервного копирования co mplete снимку - вам не нужно, чтобы восстановить старую полную резервную копию с последующей некоторым количеством дополнительных резервных копий для того, чтобы получить последние файлы
  • смехотворно хорошая производительность дедупликации
  • хорошей эффективности пространства в целом
  • большой поддержки эффективная передача резервных копий в удаленные системы

Рекомендация: взгляните на bup. Он не очень зрелый, он не видит много активного развития, и ему не хватает некоторых важных функций, но он имеет много обещаний. Это программа резервного копирования с открытым исходным кодом, основанная на Git. Они сохранили вещи, которые Git делает хорошо, но заменили/добавили некоторые из вещей, которые Git делает плохо (для резервного копирования).

+0

«Резервное копирование на удаленную систему включает в себя резервное копирование локально сначала»: Не совсем. Я могу выделить каталог .git в папке вне пользовательского каталога. git --git-dir = ../repo --work-tree =. Добавить . «нет защиты от повреждения файловой системы». Пример этой проблемы и решений, реализованных другими системами резервного копирования? –

+0

Я пытаюсь проверить BUP, но документация слишком бедна. У меня есть только: БУП помочь Использование: БУП [- | --help] [-d BUP_DIR] [--debug] [--profile] [опции ...] Общие команды: Fsck Проверка резервного копирования устанавливает для повреждения и добавляет информацию о избыточности ftp Просмотр наборов резервных копий с использованием ftp-подобного клиента Предохранитель Установите резервные копии в качестве файловой системы help Печать подробной справки для данной команды index Создайте или покажите индекс файлов для резервного копирования. . Знаете ли вы WIKI или какой общий рабочий поток BUP для инкрементных резервных копий? –

1

Все, что вам нужно сделать, это

git init 

у основания каждого пользователя. Если они хранят свои репозитории git, объем git будет остановлен в тех каталогах, у которых есть папка .git.

Непонятно, что если вы хотите совершить git-репо с другим git-репо. Я бы не рекомендовал это делать.

+0

Я хочу, чтобы Git обрабатывал вложенный каталог .git, как обычный каталог. Для резервного копирования. –

+0

У меня нет прав записи для создания .git-файла в каталоге резервных копий пользователей. Я пытаюсь использовать некоторые из них: git --git-dir = ../repo --work-tree =. add foo –

Смежные вопросы