У меня есть несколько отслеживаемых файлов в хранилище, которые автоматически изменяются при сборке кода. Я не хочу отследить их, я просто не хочу, чтобы они отображались как измененные, и я не хочу, чтобы они ставились при установке git add.
Это возможно?
Ответы:
Конечно.
Чтобы отменить и начать отслеживание снова:
источник
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--assume-unchanged
на клонирование? Чтобы у всех пользователей были файлы, но они не видели локальных изменений в них.git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel))
заданная как псевдоним git. Всякий раз, когда я подозреваю, что это некоторые из этих махинаций, я просто делаю это.Другой подход (из уже удаленного ответа Сета Робертсона, но я нашел его полезным, поэтому воскресил его) состоит в том, чтобы сохранить «отслеживаемый» файл шаблона, а затем иметь его локальную неотслеживаемую версию, например: «config.sample.ini» или « config.ini.template "см. https://gist.github.com/canton7/1423106 для полного примера.
Тогда не будет никаких проблем, если файл будет изменен в git и т. Д., И вы можете использовать .gitignore (наконец) для локальных неотслеживаемых файлов.
источник
Другое решение, использующее атрибуты git и% f в команде фильтра:
источник