Aufgrund externer seltsamer Einschränkungen kann .gitignore
ich das Repository nicht ändern . Gibt es eine andere Möglichkeit, Dateien und Verzeichnisse zu ignorieren, als a zu ändern .gitignore
? Auch wenn es sich um eine globale Lösung wie eine globale Konfiguration handelt, die auf alle meine Repositorys angewendet wird.
quelle
update-index --assume-unchanged
@see stackoverflow.com/a/25253144/292408update-index --skip-work-tree
. Ich habe die Antwort bearbeitet, um einige Links zu meinen alten Antworten hinzuzufügen, die diese beidenupdate-index
Befehle veranschaulichen .Wenn Sie Änderungen
.git/info/exclude
vornehmen können, können Sie dort dieselben Regeln festlegen. Diese Datei befindet sich jedoch nur in Ihrem lokalen Repo.quelle
.git
Verzeichnis in einem Submodul ....git
Ordner eines Submoduls befindet sich tatsächlich inparent_repo/.git/modules/submodule_name
. Also würden Sie bearbeitenparent_repo/.git/modules/submodule_name/info/exclude
Es gibt drei Möglichkeiten, GIT mitzuteilen, welche Dateien ignoriert werden sollen:
.gitignore
Dateien$GIT_DIR/.git/info/exclude
core.excludesfile
Einstellung verwiesen wirdDie letzten beiden Punkte könnten Ihr Problem lösen.
Weitere Informationen finden Sie unter Gitignore (5) .
quelle
Wenn Sie nur einige lokale Dateien im Repository haben möchten und der Speicherort des Unterverzeichnisses flexibel ist, können Sie Ihre Dateien einfügen
tracked_dir1/tracked_dir2/untracked_dir/
und dann einetracked_dir1/tracked_dir2/untracked_dir/.gitignore
mit folgenden Inhalten hinzufügen :*
Dh
quelle
Ich war in ähnlichen Situationen und füge meine bevorzugte Lösung hinzu, die ich nicht erwähnt sehe. Das Problem
git update-index --assume-unchanged
in diesem Fall ist, dass Sie dies für eine nicht verfolgte Datei nicht tun können. Du sagtestIch gehe davon aus, dass Sie damit keine Änderungen an
.gitignore
der Herkunft vornehmen können . Wenn dies der Fall ist, können Sie die nicht verfolgte Datei zu Ihrer lokalen Datei hinzufügen.gitignore
,git update-index --assume-unchanged .gitignore
damit Ihre Änderung an.gitignore
niemals verschoben wird. Jetzt ignorieren Sie die (möglicherweise) nicht verfolgte Datei und haben keinen Einfluss auf die entfernte.gitignore
Datei.quelle
Ignorieren Sie lokale Änderungen an verfolgten Dateien:
git update-index --assume-unchanged my-file.php
Lokale Änderungen an verfolgten Dateien aufheben:
git update-index --no-assume-unchanged my-file.php
Quelle:
git help update-index
quelle
Sie können die globale Gitignore-Methode verwenden, anstatt die im Projekt https://help.github.com/articles/ignoring-files/#create-a-global-gitignore verwendete zu ändern
quelle
Ein anderer Weg:
.gitignore
git update-index --assume-unchanged .gitignore
quelle