Использование git в качестве внутренней системы хранения - PullRequest
3 голосов
/ 17 апреля 2010

Новый для Git здесь ...

Я хочу передать свой личный общий ресурс в git-репозиторий (текст, документы, изображения и т. Д.).

Когда я со временем вносю изменения в различные файлы, рассказываю git о них, как мне поступить, чтобы я мог:

  • Выйти из бизнеса традиционных фулл / инкрементов.
  • Уметь выполнять восстановление файла на момент времени или полное клонирование.

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

В настоящее время я использую rsync для удаленной инкрементной синхронизации (без контроля версий файлов).

Ответы [ 2 ]

5 голосов
/ 17 апреля 2010

Чтобы инициализировать процесс, вы можете просто:

git init .
git add -A
git commit -m "initiali state of my documents"

в каталоге, где находятся все ваши документы.

Затем используйте одно из предложений Криса Джонсена , чтобы зафиксировать каждое сохранение.

Если вы хотите сохранить всю свою историю и экспортировать ее в другое место, используйте git bundle.
(и скопируйте только один файл где угодно)

Что касается извлечения из этого большого пакета точного состояния репо на определенную дату, вы должны использовать раздел Specifying Revisions git rev-parse

Ссылка, за которой следует суффикс @ с указанием даты, заключенной в пару скобок
(например, {yesterday}, {1 month 2 weeks 3 days 1 hour 1 second ago} или {1979-02-26 18:30:00}), чтобы указать значение ссылки в предыдущий момент времени.
Этот суффикс может использоваться только сразу после имени ссылки, и ссылка должна иметь существующий журнал ($GIT_DIR/logs/<ref>).
Обратите внимание, что это ищет состояние вашего местного реф в данный момент; например, что было в вашем местном главном филиале на прошлой неделе.
Если вы хотите посмотреть коммиты, сделанные в определенное время, см. --since и --until.

2 голосов
/ 17 апреля 2010

Таким образом, чтобы ответить на ваш вопрос в полном объеме, потребуется учебник. В итоге, git должен найти достойное решение для этого.

Вы захотите установить где-нибудь git-сервер, создать там хранилище и создать его локальный клон. Затем вы можете добавить все свои файлы и отправить их на сервер.

Одна приятная вещь - вы можете выполнять локальные коммиты, не беспокоясь о сервере, а затем, когда придет время для резервного копирования, вы делаете толчок.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...