Ich denke, dass es Situationen gibt, in denen das Ignorieren des .gitignore sehr nützlich ist. Zum Beispiel, wenn mehrere Teams oder ein großes Team an derselben Codebasis arbeiten. In diesem Fall müssen Sie bestimmte Konventionen haben. Eine dieser Konventionen betrifft das, was beim Git Repo ignoriert wird. In der Regel werden von IDE oder Betriebssystem erstellte Dateien und Verzeichnisse, einige generierte Protokolle usw. ignoriert.
Es gibt jedoch eine Kraft, die dazu neigt, unkonventionelle Änderungen an der .gitignore
Datei vorzunehmen . Die .gitignore
Datei kann von einer verantwortungslosen Person, aus Versehen, von einem verwendeten Werkzeug oder in einem anderen Fall weiter geändert werden.
Um dem entgegenzuwirken, können wir wie folgt vorgehen:
- Der anfängliche .gitignore sollte die Konvention in Team (en) widerspiegeln.
- Nach dem Push sollte der .gitignore durch Hinzufügen eines .gitignore-Eintrags gesichert werden und diese Änderung erneut übertragen werden. Die
.gitignore
Datei wird auf diese Weise " versiegelt ".
Die " versiegelte " .gitignore
Datei kann nur lokal geändert werden, ohne dass diese Änderungen an andere Mitglieder des Teams weitergegeben werden. Wenn jedoch eine Änderung im gesamten Team weitgehend vereinbart ist, ist es möglich, sie zu "entsiegeln", zu ändern und dann erneut zu "versiegeln". Das kann nicht versehentlich gemacht werden, nur absichtlich.
Leider können Sie nicht zu 100% vor der Dummheit geschützt werden, aber auf diese Weise haben Sie alles getan, um zu verhindern, dass dumme Dinge passieren.
Wenn Sie ein relativ kleines Team mit sehr guten Fachleuten haben, wäre dies nicht wichtig, aber selbst diese Leute würden es begrüßen, wenn sie sich weniger Sorgen machen müssten.
Die Verwendung .git/info/exclude
ist cool, wenn Sie nichts an den Infrastruktureinstellungen ändern können, sondern nur Ihre eigenen a ** abdecken, um keinen Fehler zu machen.
Unter dem Gesichtspunkt, was richtig und was falsch ist, stimme ich dafür, dass .gitignore in die .gitignore
Datei aufgenommen wird, damit jeder die Freiheit hat, vor Ort zu tun, was er will, aber nicht in andere einzudringen.
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD