Ist es möglich? Das git update-index --assume-unchanged
ist keine Lösung, ignorierte Dateien müssen verfolgt werden. Erstellen Sie auch Submodule.
z. B.
Katze .customgitignore (1 | 2 | 3 ...)
%Vor%Katze .gitignore
%Vor%Problembeschreibung für Interessierte.
Ich erstelle private Repo von Configs. Ein Zweig = eine Konfig. Zusätzliche Verzweigung als Arbeitsbereich Ich füge andere Zweige-configs mit Arbeitsbereich je nach Anforderungen zusammen. Branches-configs haben jeweils ihr eigenes .gitignore, das erst nach der Zusammenführung angewendet werden sollte. Ich versuche, Konflikte in Gitignore-Datei wegzulassen.
Ich versuche Konflikte in gitignore Datei
zu vermeiden
Stellen Sie die endgültige .gitignore-Datei nicht selbst bereit: Generieren Sie sie bei Bedarf.
Halten Sie Ihre .gitignore-Dateien getrennt, fügen Sie jedoch einen Inhaltsfiltertreiber (ein smudge
-Skript) hinzu :
Da Git dies nicht standardmäßig unterstützt, können Sie selbst eines mit Git-Hooks implementieren, zum Beispiel:
In jedem Fall müssen Sie Ihre ignores verwalten und in eine benutzerdefinierte Datei einbinden, nicht ein .gitignore
selbst, da dieses generiert wird. Nehmen wir an, Sie haben eine .gitignoreincludes
-Datei in einem Zweig und benutzerdefinierte Include-Dateien in anderen Zweigen.
Sie können also einen "post-merge" Hook wie diesen installieren, zum Beispiel:
%Vor% Dieser Hook wird bei einer erfolgreichen Zusammenführung gestartet, sucht nach einer .gitignoreincludes
-Datei und generiert, falls vorhanden, eine .gitignore
-Datei. .gitignore
enthält alle Einträge aus .gitignoreincludes
und alle Einträge aus allen Dateien, auf die als include FILE_NAME
verwiesen wird. Wenn .gitignore
sich selbst ignoriert, kann es beim Zusammenführen sicher mehrmals neu generiert werden.
Dies kann weiter verbessert werden, indem include
-Anweisungen in eingeschlossenen Dateien ebenso erlaubt werden, oder auch ein post-checkout
-Hook kann implementiert werden, um das .gitignore beim Wechseln zwischen Zweigen usw. usw. zu regenerieren.