Подтвердить что ты не робот

Git: игнорирование файла, который * * контролируется версией

Файл A .gitignore позволяет игнорировать файлы из версии, контролирующей их вообще.

У нас другая ситуация: мы хотим разместить в репозитории некоторые файлы конфигурации, которые необходимо изменить для каждой машины (например, информация о доступе к базе данных).

Мы хотим распространять их как заполнители, поэтому мы включаем их в репозиторий. Однако позже мы хотим, чтобы любые изменения были проигнорированы для всех разработчиков.

Есть ли способ сделать это?

Примечание:

Вопрос Git: Игнорирование файлов с контролируемой версией файлов на самом деле то же самое. Однако ни один из ответов не ответил на вопрос, включая принятый.

Edit:

  • Есть ли способ сделать - нецелесообразно использовать шаблон, а не один файл?
  • Есть ли способ распространить эту команду на репозитории других разработчиков?
4b9b3361

Ответ 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 в обычные, если они еще не существуют.