Откатить мерзавец, полностью или частично (один файл), как? - PullRequest
0 голосов
/ 05 января 2011

На данном сервере у меня есть набор демонов, каждый из которых имеет свой собственный файл конфигурации.

Я хотел бы использовать git для управления редактированием файлов конфигурации во время и всегда иметь возможность откатиться до «заводских настроек» в отношении всех файлов или конкретного файла.

Например, с учетом следующей структуры:

$ ls -l
total 0
-rw-r--r-- 1 tzury tzury 0 2011-01-05 06:36 bar.conf
-rw-r--r-- 1 tzury tzury 0 2011-01-05 06:36 baz.conf
-rw-r--r-- 1 tzury tzury 0 2011-01-05 06:36 foo.conf

Предполагая, что все эти файлы .conf хранятся в репозитории git, я хочу иметь возможность восстановить все файлы в исходную форму (это будет первый коммит git). Тем не менее, я также хотел бы иметь возможность откатить определенный файл до заводских настроек по умолчанию, в то время как другие остаются в актуальном состоянии.

Ответы [ 2 ]

1 голос
/ 05 января 2011

Чтобы получить один файл из более ранней фиксации, просто извлеките этот файл оттуда.

git checkout FACTORY_DEFAULT_COMMIT -- foobar.conf
0 голосов
/ 05 января 2011

Обычно я делал файлы конфигурации прототипов, которые хранятся в Git, но не используются никакими программами.Как только вы извлекаете прототипы, вы копируете их, и копии становятся фактическими файлами конфигурации, которые можно редактировать и настраивать для конкретной проверки.Любые изменения, которые должны быть сохранены, также будут внесены в прототипы и зафиксированы соответствующим образом.Копии находятся в .gitignore и никогда не будут контролироваться версиями.

В Git у вас будут файлы foo.conf.in, bar.conf.in и baz.conf.in.После того, как вы это проверите, вы делаете копии в foo.conf, bar.conf и baz.conf.Эти файлы явно игнорируются в .gitignore (или вы можете игнорировать все файлы .conf, если все они работают одинаково).Если вы хотите обновить «заводские настройки», вы должны внести изменения в foo.conf.in и т. Д., А затем зафиксировать их.В противном случае откат - это просто повторное копирование файлов .conf.in поверх файлов .conf.

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