Я думаю, что бывают ситуации, когда игнорирование .gitignore очень полезно. Например, когда у вас есть несколько команд или большая команда, работающая над одной и той же кодовой базой. В этом случае вам нужно иметь определенные соглашения, одно из которых касается того, что игнорируется в git-репо. Обычно речь идет об игнорировании файлов и каталогов, созданных IDE или ОС, некоторых сгенерированных журналов и т. Д.
Однако существует сила, которая стремится внести нестандартные изменения в файл .gitignore
. Файл .gitignore
может быть дополнительно изменен безответственным лицом, по ошибке, с помощью инструмента, который используется, или в каком-то другом случае.
Чтобы противодействовать этому, мы можем сделать следующее:
- Исходный .gitignore должен отражать соглашение в команде (ах),
- После того, как он был нажат, необходимо защитить .gitignore, добавив запись .gitignore и повторить это изменение еще раз. Таким образом, файл
.gitignore
будет " загерметизирован ".
Файл " загерметизированный " .gitignore
может быть изменен только локально, без передачи этих изменений другим членам команды. Однако, если изменение широко согласовано во всей группе (ах), то его можно «распечатать», изменить и затем «запечатать» снова. Это не может быть сделано по ошибке, только намеренно.
К сожалению, вы не можете быть на 100% защищены от глупости, но таким образом вы сделали все возможное, чтобы не допустить глупостей.
Если у вас относительно небольшая команда с очень хорошими профессионалами, это не было бы важно, но даже этим парням хотелось бы иметь одну вещь, о которой меньше беспокоиться.
Использование .git/info/exclude
здорово, когда вы ничего не можете сделать с настройками инфраструктуры, просто прикрываете себя **, чтобы не ошибиться.
С точки зрения того, что правильно и что неправильно, я голосую за то, чтобы в файле .gitignore
была запись .gitignore, предоставляя всем свободу делать локально все, что им хочется, но не вторгаться в других.