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