Как вытащить файлы из Git на основе какой-либо даты назад? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть процесс, который генерирует файл "hi.txt" по нескольким путям на нескольких серверах.

target-server1:

/opt/tmp/test/hi.txt 
/opt/tmp/log/db/hi.txt 
.... 
....
/opt/tmp/scr/hi.txt

target-server2:

/app/tmp/hi.txt
/app/db/hi.txt
.... 
.... 
/opt/tmp/scr/hi.txt

and likewise.

Я хочу сохранить эти файлы "hi.txt" в git, и я должен иметь возможностьполучить любой hi.txt для любой заданной даты и времени.

Примечание: установка git на удаленных серверах не возможна.

Ниже представлен подход, который я выбрал.

Я извлекаю (копирую) все эти "hi.txt" вопределенная папка на общем сервере [мы называем это Jump-сервером], который имеет git и переименовывает каждый из «hi.txt» со значением приращения, таким как

jump-server: 
/var/common/hi.txt_1 
/var/common/hi.txt_2 
.... 
....
/var/common/hi.txt_43 
/var/common/hi.txt_44

Затем я планирую выдвинуть этифайлы для git.

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

Учитывая, что у нас может быть /var/common/hi.txt_1 имя файла, отправленное вgit дважды в одну и ту же дату с одними и теми же комментариями.

Я использую локальные git и gitlab для поддержки файлов.

Какой будет хороший подход, который поможет мне восстановить файлы любогодали дату из мерзавца? Пожалуйста, предложите?

1 Ответ

0 голосов
/ 24 октября 2019

Для структуры каталогов на сервере переходов: я бы предложил

# under /var/common/ :
server1/tmp/test/hi.txt
server1/tmp/log/db/hi.txt
...
server1/tmp/src/hi.txt
server2/app/tmp/hi.txt
server2/app/db/hi.txt
...
server2/tmp/src/hi.txt
# etc ...

Относительно вашего «как мне получить какой-либо файл с какой-либо конкретной датой в прошлом?»,
Я не уверенЯ понял все ваши проблемы.

Если задание, которое копирует все файлы на сервер перехода, создает коммит (git add -A; git commit -m "Updated"), то, что вам нужно, встроено в git:

  • используйте git log для просмотра всех коммитов (с датами и временем)
  • используйте git checkout [xxx] для просмотра точного состояния, или git show [xxx]:some/file.txt, или ...

ЛюбойГрафический просмотрщик (git-kraken, git-extension, ...) предоставит вам графический интерфейс для просмотра истории и просмотра точного файла в точную дату.

...