Git: файл, который должен быть распространен, но проигнорирован/не перезагружен?

Возможный дубликат:
git: могу ли я зафиксировать файл и игнорировать изменения содержимого?

У меня простая проблема, и я надеюсь, что есть простое решение.

Используя Git (и Tower, отличное приложение), у меня есть репозиторий, у которого есть файл, который нужно загрузить, когда он клонирует репо, НО этот файл никогда не должен перезагружаться с изменениями (потому что это файл конфигурации, с именами/паролями, специфичными для базы данных, и путями) - изменения производятся только при локальном использовании.

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

Следует отметить, что:

  • Когда я клонирую репо, файл появляется, но когда я игнорирую его (только локально, а не через .gitignore), я должен его не проверять, а когда я это делаю и нажимаю изменения на сервер, любой, кто клонирует репо, НЕ загрузит файл < < нежелательное поведение.

  • Если я проигнорирую файл, но я НЕ ОТКРЫВАЮ его, файл все еще отображается в моем рабочем каталоге, ожидая, чтобы он был отправлен < < нежелательное поведение.

Ответ 1

Зафиксируйте пример файла, gitignore - настоящее имя, и ваши авторы копируют пример в нужное место, а затем настраивают его. В качестве альтернативы укажите установку script, которая копирует пример и выполняет эти шаги.

Ответ 2

Это правильно обрабатывается с помощью smudge/clean scripts.

В качестве альтернативы сценарии, в которых развернуть reset имена пользователей и пароли.

Отслеживание и игнорирование изгибов - это не способ решить эту проблему.

Надеюсь, что это поможет.