Ich möchte Git daran hindern, ignorierte Dateien git status
anzuzeigen, da jede Menge Dokumentations- und Konfigurationsdateien in der Liste der geänderten, aber nicht aktualisierten Dateien enthalten sind Dateien unzählige die Liste halb unbrauchbar macht.
Ist es normal, dass Git diese Dateien anzeigt?
Ich habe die Ignorierinformationen in eine .gitignore
Datei im Stammverzeichnis des Git-Repositorys eingefügt und sie werden bei der Verwendung nicht hinzugefügt, git add .
aber es scheint, dass sie auch nicht vollständig ignoriert werden, da sie in der oben genannten Liste angezeigt werden und nicht in der Liste angezeigt werden gedruckt von git ls-files --others -i --exclude-standard
. Nur Dateien, die mit den Mustern in übereinstimmen~/.gitignore
.
Könnte es sein, dass ich sie zu einem früheren Zeitpunkt nicht ignoriert habe und sie daher mindestens einmal begangen wurden?
git status -- <file>
"Änderungen, die nicht für das Festschreiben bereitgestellt wurden" oder "Nicht verfolgte Dateien" für Ihre Datei an? Ersteres ist, wenn Sie bereits eine Datei im Index haben und ich mehr Informationen benötigen würde, um Ihr Problem zu lösen (erstellen Sie besser eine separate Frage mit angezeigten Git-Nachrichten und posten Sie den Link einfach im Kommentar). Letzteres gilt für Dateien, die (noch) nicht von git verfolgt werden, aber nicht in der.gitignore
Datei enthalten sind und frei zum Index hinzugefügt werden können.Dieses Problem ist ebenfalls aufgetreten. Dies liegt wahrscheinlich daran, dass Sie Ihre ignorierten Verzeichnisse / Dateien zu .gitignore hinzugefügt haben, nachdem sie in einem ersten Festschreibungsablauf von GIT als "zu verfolgen" markiert wurden.
Sie müssen den Git-Tracking-Cache also wie folgt leeren:
git rm --cached -r [folder/file name]
Eine ausführlichere Erklärung finden Sie hier: http://www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html
Mit dem obigen Befehl wurden auch die Reste des Ordners / der Dateien von Ihrem Remote-GIT-Ursprung entfernt. So werden Ihre GIT-Repos sauber.
quelle
Problem kann sein, dass sich diese Datei noch im Git-Cache befindet. Um dieses Problem zu lösen, muss der Git-Cache zurückgesetzt werden.
Git-Cache zurücksetzen. Dadurch wird alles aus dem Index entfernt.
Fügen Sie alle Dateien erneut hinzu:
Verpflichten:
quelle
Das funktioniert sicher,
git rm --cached -r [folder/file name]
quelle
Ich gehe davon aus, dass Sie kein tmp-Verzeichnis hinzufügen möchten (Visual Studio Platform)
1- Fügen Sie Ihrer lokalen .gitignore-Datei die folgenden Zeilen hinzu
3- tmp-Ordner lokal sichern und löschen. (Backup woanders. ZB Desktop?)
4- Übernehmen Sie Änderungen an Local als Sync to Remote (z. B. Github).
Nach diesen Schritten wird Ihr tmp-Verzeichnis nicht mehr hochgeladen.
quelle
Von man git-lsfiles :
Persönlich neige ich dazu, Sauerstoffdateien in meinem Quellbaum zu behalten, also habe ich diese einfach zu meinem .gitignore hinzugefügt (der sich im obersten Verzeichnis meines Quellbaums befindet):
Hoffentlich hilft das.
quelle
Die folgenden Schritte gelten nur für nicht verfolgte Dateien . Diese Informationen gelten für folgende Konfiguration:
Fügen Sie die Liste der zu ignorierenden Dateien in die Datei "Ausschließen" ein, die sich am folgenden Speicherort befindet.
Anfangsinhalt der "Ausschluss" -Datei
Endgültiger Inhalt der "Ausschluss" -Datei
quelle
Gemäß der akzeptierten Antwort können Sie davon ausgehen, dass die Datei unverändert ist , sodass alles, was Sie auf Ihrem lokalen Computer tun, nicht in Ihren Remote-Zweig übernommen wird.
So etwas wie "
git update-index --assume-unchanged src/main/resources/config.properties
src / main.resources / config.properties" ist ein Beispiel für den Pfad, um diese Datei in Ihrem Projekt zu finden.Wenn Sie die Datei jetzt vollständig aus Ihrem Repository entfernen möchten, möchten Sie sie möglicherweise verwenden
remove cached
stattdessen ab `git rm --cached verwendenDieses Szenario kann in der folgenden Situation angewendet werden:
quelle
so was
Und zeigt den Status nur für meinen Ordner an
quelle