Нет, вы не можете этого сделать - как только вы --no-assume-unchanged
, Git обнаружит ваше изменение и попытается зафиксировать его, если вы сознательно не избегаете его, никогда не используете commit --auto
и add --patch
всякий раз, когда у вас есть измененияв вашем конфигурационном файле, который вы хотите зафиксировать.Другими словами, вы можете только автоматически игнорировать файл, вы не можете игнорировать определенные изменения в файле.
Вы можете выполнить следующую последовательность:
git update-index --no-assume-unchanged <file>
git add --patch <file>
# pick and choose what you want for yourself only
git commit
git update-index --assume-unchanged <file>
каждый раз, когда вы что-то меняете, но ... что если кто-то забудет?
Типичным способом решения этой проблемы является наличие файла конфигурации uncommitted (добавлен в .gitignore
)сопровождается подтвержденным примером файла конфигурации (обычно именуемым *.sample
, *.example
, *.skeleton
или аналогичным).Таким образом, изменения никогда не передаются вашим соавторам.Когда вы вносите изменения в структуру файла конфигурации, не забудьте также изменить пример, чтобы другие люди могли последовать его примеру.Предполагается, что каждый соавтор скопирует пример для создания реального файла конфигурации, который затем он может настроить для своей среды.