Git: игнорирование файла, который * * контролируется версией
Файл A .gitignore
позволяет игнорировать файлы из версии, контролирующей их вообще.
У нас другая ситуация: мы хотим разместить в репозитории некоторые файлы конфигурации, которые необходимо изменить для каждой машины (например, информация о доступе к базе данных).
Мы хотим распространять их как заполнители, поэтому мы включаем их в репозиторий.
Однако позже мы хотим, чтобы любые изменения были проигнорированы для всех разработчиков.
Есть ли способ сделать это?
Примечание:
Вопрос Git: Игнорирование файлов с контролируемой версией файлов на самом деле то же самое. Однако ни один из ответов не ответил на вопрос, включая принятый.
Edit:
- Есть ли способ сделать - нецелесообразно использовать шаблон, а не один файл?
- Есть ли способ распространить эту команду на репозитории других разработчиков?
Ответы
Ответ 1
Я определяю следующие псевдонимы в файле .gitconfig
:
[alias]
ignore = update-index --assume-unchanged
unignore = update-index --no-assume-unchanged
Это должно делать именно то, что вы хотите: запуск git ignore some-file
будет обрабатывать файл неизменным независимо от того, что вы делаете с ним, пока вы не запустите git unignore some-file
.
Ответ 2
Я знаю, как это утомляет проблема, но у меня будет файл ".defaults" для каждого, а затем измените это. Это все равно помогает в конфигурации конфигурации - что, если кто-то, у кого есть пользовательская конфигурация, хочет изменить настройки по умолчанию?
Не игнорируйте .defaults, игнорируйте фактическую вещь. Возможно, есть script, который копирует .defaults в обычные, если они еще не существуют.