Ответ 1
Конечно.
git update-index --assume-unchanged [<file> ...]
Чтобы отменить и снова начать отслеживание:
git update-index --no-assume-unchanged [<file> ...]
У меня есть некоторые отслеживаемые файлы в репозитории, которые автоматически изменяются при создании кода. Я не хочу, чтобы их не трогали, я просто не хочу, чтобы они отображались как измененные, и я не хочу, чтобы они были организованы, когда я git добавляю.
Возможно ли это?
Конечно.
git update-index --assume-unchanged [<file> ...]
Чтобы отменить и снова начать отслеживание:
git update-index --no-assume-unchanged [<file> ...]
Другое решение, использующее атрибуты git и% f в команде фильтра:
git config filter.orig.clean "cat %f.orig"
cp filename filename.orig
echo "filename filter=orig" >> .git/info/attributes
echo "filename.orig" >> .git/info/exclude
Другой подход (из уже удаленного ответа Сета Робертсона, но я нашел его полезным, поэтому воскресил его) состоит в том, чтобы сохранить "отслеживаемый" файл шаблона, а затем иметь его локальную неотслеживаемую версию, например: "config.sample.ini" или " config.ini.template "см. https://gist.github.com/canton7/1423106 для полного примера.
Тогда не будет никаких проблем, если файл будет изменен в git и т.д., И вы можете использовать .gitignore (наконец) для локальных неотслеживаемых файлов.