Git игнорировать изменение файла, но только один раз? - PullRequest
0 голосов
/ 11 сентября 2018

Есть ли в Git какая-то функция "игнорировать один раз"?

Я хочу, чтобы git игнорировал изменение файла только на этот раз, возможно ли это?

У меня есть отслеживаемый файл с переменными, я хочу изменить:

Debug: 'true'

тоже будь 'ложным',

  • Я не хочу, чтобы файл показывался при подготовке файлов, поэтому я могу выполнить «этап всего».
  • Я также не хочу добавлять файл в .gitignore, потому что файл содержит другие переменные, которые должны быть изменены и должны отслеживаться.
  • Я не хочу нажимать Debug: «ложь», потому что это просто заставит других людей иметь противоположную проблему с желанием иметь Debug: «true» без отслеживания.

Возможно ли это?

Мне известно:

git update-index --assume-unchanged <file>

Но если я правильно понимаю, он не будет отслеживать изменения до тех пор, пока я не использую флаг --no-предположить-неизмененный, чтобы начать отслеживание.

Могу ли я сначала использовать --assume-неизмененный, затем внести изменения, а затем использовать --no-accept-неизмененный, чтобы обойти отслеживание?

1 Ответ

0 голосов
/ 11 сентября 2018

Нет, вы не можете этого сделать - как только вы --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 или аналогичным).Таким образом, изменения никогда не передаются вашим соавторам.Когда вы вносите изменения в структуру файла конфигурации, не забудьте также изменить пример, чтобы другие люди могли последовать его примеру.Предполагается, что каждый соавтор скопирует пример для создания реального файла конфигурации, который затем он может настроить для своей среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...