ich eine globale .gitignore wie dieseglobal vs lokalen .gitignore Konflikt
# global .gitconfig
[core]
quotepath = false
excludesfile = ~/.gitignore_global
eingestellt haben Wo ~/.gitignore_global
so etwas wie dieses:
# https://www.gitignore.io/api/pycharm
# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/vcs.xml
.idea/**/jsLibraryMappings.xml
# .idea/**/dictionaries
# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
# Gradle:
.idea/**/gradle.xml
.idea/**/libraries
# Mongo Explorer plugin:
.idea/**/mongoSettings.xml
## File-based project format:
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
jetzt Also, wenn ich ein neues Projekt mit jedem Start Intellij IDE nur einige Dateien im Ordner .idea
werden verfolgt und andere nicht. So fa so gut.
Das Problem kommt von einem Projekt, das ich vor der Einrichtung der .gitignore_global gestartet habe. Tatsächlich hatte ich in diesem Projekt ein lokales .gitignore eingerichtet, um den Ordner .idea/
zusammen zu ignorieren.
# local .gitignore created before the global one
*.idea/
Nun, für das alte Projekt, das ich im .idea
Ordner starten möchten die entsprechenden Dateien zu verfolgen, also habe ich die Linie # *.idea/
kommentiert.
Und hier beginnt das Problem.
Anstatt nur die relevanten Dateien Tracking wie in .gitignore_global
es Zeichen als neue Datei (unstaged) alle Dateien im Ordner .idea angegeben, die .gitignore_global
(sorry für die Redundanz) zu ignorieren.
Ich vermute (nicht sicher), dass damals, vor Jahren hatte ich versehentlich die .idea
Ordner zum Repo hinzugefügt, dann entfernt, dann ignoriert.
Wie kann ich das beheben? Ich möchte nur die relevanten Dateien in .idea verfolgen, die nicht als ignoriert markiert sind, indem ich der Anweisung von .gitignore_global
folge.
BEARBEITEN: der wichtige Teil ist, dass Git ich alle neuen Dateien zum Staging-Bereich hinzufügen, auch diejenigen, die nicht sollten.
Hatten die Dateien unter früheren Commits sollte nicht von Bedeutung sein. (Wenn es wirklich wichtig wäre, hätten Sie Probleme gehabt, wenn Sie das gesamte Verzeichnis lokal gespeichert haben.) Wahrscheinlich ist die Konfiguration für diesen Repo irgendwie nicht korrekt eingerichtet, um die globale Ignorierdatei zu verwenden. –
Ich habe die .git/config-Datei des Repos geöffnet und es scheint nichts abnormales zu haben. Es ist ähnlich zu anderen config von anderen Projekten, die tatsächlich als erwartet arbeiten – Leonardo
Hmm ... nun, ich habe einen schnellen Test - einschließlich Hinzufügen von 3 Dateien in einem Verzeichnis, zu begehen; Entfernen der Dateien aus dem Index, Ignorieren des Verzeichnisses, Festschreiben; Hinzufügen einer globalen Ignorierung für eine der Dateien, Auskommentieren der lokalen Ignorierung für das Verzeichnis.'git status' hat dann' foo/'als nicht geparkt gemeldet, aber wenn ich es 'hinzugefügt' habe, hat es nur die zwei Dateien wie erwartet inszeniert ... Also stimmt etwas anderes nicht. –