Ignorierte Dateien aus dem Git-Status heraushalten

Lesezeit: 4 Minuten

Benutzer-Avatar
Knuton

Ich möchte verhindern, dass Git ignorierte Dateien in anzeigt git statusweil in der Liste von tonnenweise Dokumentations- und Konfigurationsdateien vorhanden sind Geändert, aber nicht aktualisiert Dateien, macht die Liste halbwegs nutzlos.

Ist es normal, dass Git diese Dateien anzeigt?

Ich habe die Informationen zum Ignorieren in a eingefügt .gitignore Datei im Stammverzeichnis des Git-Repositorys und 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 und auftauchen unterlassen Sie erscheinen in der Liste gedruckt von git ls-files --others -i --exclude-standard. Nur Dateien, die mit den Mustern übereinstimmen, in ~/.gitignore dort auftauchen.

Könnte es daran liegen, dass ich sie früher nicht ignoriert habe und sie deshalb mindestens einmal begangen wurden?

Benutzer-Avatar
MBO

Wie ich fand in diesem Beitrag, .gitignore funktioniert nur für nicht getrackte Dateien. Wenn Sie Dateien zum Repository hinzugefügt haben, können Sie:

git update-index --assume-unchanged <file>

oder entfernen Sie sie aus dem Repository durch

git rm --cached <file>

Bearbeiten

Dieser Artikel erklärt das auch

  • update-index hat bei mir funktioniert. Ähnliches Problem, bei dem der Git-Status ignorierte Dateien anzeigt … sehr ärgerlich. +1

    – Abe Petrillo

    10. Mai 2012 um 10:51 Uhr

  • Ich habe immer noch dieses Problem. Keiner der oben genannten Befehle hat bei mir funktioniert. In beiden Fällen sagt Git, dass es keine Kenntnis von den fraglichen Dateien hat, aber sie werden immer noch im Git-Status angezeigt 🙁

    – Cfreak

    28. Dezember 2012 um 0:06 Uhr

  • @Cfreak tut es git status -- <file> “Änderungen nicht zum Festschreiben bereitgestellt” oder “Nicht nachverfolgte Dateien” für Ihre Datei anzeigen? Ersteres ist, wenn Sie bereits eine Datei im Index haben und ich weitere Informationen benötigen würde, um Ihr Problem zu lösen (erstellen Sie besser eine separate Frage mit angezeigten Git-Nachrichten und posten Sie einfach einen Link dazu im Kommentar). Letzteres ist für Dateien, die (noch) nicht von Git verfolgt werden, aber nicht in sind .gitignore Datei und kann frei zum Index hinzugefügt werden.

    – MBO

    29. Dezember 2012 um 12:52 Uhr

  • @MBO – ja, das tut es. Vielen Dank! Ihr Kommentar hat mir geholfen, diese Antwort zu finden: stackoverflow.com/questions/594757/… was für mich funktioniert hat.

    – Cfreak

    31. Dezember 2012 um 15:27 Uhr

  • Die erste Option funktioniert wie ein Zauber. Ich habe bereits das zweite ausprobiert, und es führte dazu, dass die Dateien als “entfernt” bereitgestellt wurden, und das wollte ich definitiv nicht.

    – Carrm

    10. Januar 2020 um 7:49 Uhr

Ich hatte dieses Problem auch, es liegt wahrscheinlich daran, dass Sie Ihre ignorierten Verzeichnisse/Dateien zu .gitignore hinzugefügt haben, nachdem sie von GIT in einem anfänglichen Commit-Flow als „zu verfolgen“ markiert wurden.

Sie müssen also den Git-Tracking-Cache wie folgt löschen:

git rm --cached -r [folder/file name]

Eine genauere Erklärung ist hier nachzulesen:
http://www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html

Der obige Befehl hat auch die Überreste der Ordner/Dateien von Ihrem entfernten GIT-Ursprung entfernt. So werden Ihre GIT-Repos sauber.

Benutzer-Avatar
Ramis

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.

Für einzelne Datei

git rm --cached <file>

Für ganzes Projekt

Git-Cache zurücksetzen. Es ist ein guter Befehl, wenn Sie ein Projekt festgeschrieben haben, als die .gitignore-Datei nicht hinzugefügt wurde.

git rm -r --cached . 

Änderungen übernehmen

git add . 
git commit -m ".gitignore was fixed." 

Benutzer-Avatar
Usmann

Das geht sicher,

git rm --cached -r [folder/file name]

Ich nehme an, Sie möchten kein tmp-Verzeichnis hinzufügen (Visual Studio Platform)

1- Fügen Sie Ihrer lokalen .gitignore-Datei die folgenden Zeilen hinzu

## ignore tmp
/tmp/
./tmp/

3- Sichern und löschen Sie den tmp-Ordner lokal. (Sichern Sie woanders. zB Desktop?)

4- Committe Changes to Local als Sync to Remote (zB github).

Nach diesen Schritten wird Ihr tmp-Verzeichnis nicht erneut hochgeladen.

Benutzer-Avatar
Basti Ben

Aus man git-lsfiles:

-i, --ignored
Show ignored files in the output. Note that this also reverses any exclude list present.

Persönlich neige ich dazu, Doxygen-Dateien in meinem Quellbaum zu behalten, also habe ich diese einfach zu meiner .gitignore-Datei hinzugefügt (die sich im obersten Verzeichnis meines Quellbaums befindet):

docs/*

Ich hoffe, das hilft.

Benutzer-Avatar
hartul ar

Die folgenden Schritte funktionieren für nicht getrackte Dateien nur. Diese Informationen gelten für folgende Konfiguration:

Platform: linux

Git version: git version 1.8.3.1

Legen Sie die Liste der zu ignorierenden Dateien in der “Ausschluss”-Datei ab, die sich an der folgenden Stelle befindet.

<path till .git directory>/.git/info/exclude

Ursprünglicher Inhalt der „Ausschluss“-Datei

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

Endgültiger Inhalt der “Ausschluss”-Datei

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~


*.tar
*.gch

1325500cookie-checkIgnorierte Dateien aus dem Git-Status heraushalten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy