awolf's blog

Игнорирование изменений файла в локальном git-репозитории

03 October 2012

Последнее время часто сталкиваюсь с ситуацией, когда файл должен присутствовать в удаленном git-репозитории, но не нужно отслеживать его изменения в локальном репозитории. Самый частый пример — это конфиги. Я забиваю конфиг строками типа #put your database password here, отправляю эту версию на гитхаб, дальше подставляю уже реальные значения, и вот их-то уже вовсе не обязательно хранить на гитхабе.

Решение просто и изящно.

$ git update-index --assume-unchanged FILENAME

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

Если нужно отменить «заморозку» файла, есть обратная команда.

$ git update-index --no-assume-unchanged FILENAME
git