Ich habe ein .gitignore Datei, und es ignoriert einige Dateien. Ich habe die aktualisiert .gitignore Datei (einige Dateinamen entfernt und einige Dateinamen hinzugefügt). Dies spiegelt sich nicht in git status. Wie kann ich Git dazu zwingen, diese Änderungen zu aktualisieren, damit Dateien verfolgt werden, die zuvor nicht verfolgt wurden, und umgekehrt.
Ich habe diese Frage versucht, immer noch werden nicht alle meine Dateien nachverfolgt (gemäß meiner aktualisierten .gitignore). (Einfach gesagt, wie kann ich Git zwingen, Dateien einmal zurückzuziehen .gitignore aktualisiert oder gelöscht wird).
Git Ignorieren funktioniert nicht bei Dateien, die bereits getrackt wurden. In diesem Fall müssen Sie git rm die Dateien zuerst, bevor Sie sie hinzufügen .gitignore.
– Tim Biegeleisen
19. Juli 2016 um 5:37 Uhr
Mögliches Duplikat von Dateien ignorieren, die bereits an ein Git-Repository übergeben wurden
– intboolstring
19. Juli 2016 um 5:38 Uhr
Shravan40
Sie müssen das vorhandene Git löschen cache Erste.
Entfernen Sie den Cache aller Dateien
git rm -r --cached .
Entfernen Sie den Cache einer bestimmten Datei
git rm -r --cached <file_name.ext>
Sobald Sie den vorhandenen Cache geleert haben, fügen Sie Datei(en) im aktuellen Verzeichnis hinzu/stellen Sie sie bereit und übergeben Sie sie
git add . // Um alle Dateien hinzuzufügen
git add <file_name.ext> // Um eine bestimmte Datei hinzuzufügen
git commit -m "Suitable Message"
Wie von Scott Biggs in einem Kommentar darauf hingewiesen “Dies funktioniert sowohl beim Hinzufügen einer Datei, die einmal ignoriert wurde, als auch beim Ignorieren einer Datei, die einmal verfolgt wurde.”
Ich habe ausdrücklich erwähnt (und verlinkt), dass dies bei meinem Problem nicht geholfen hat
– Benutzer4576114
19. Juli 2016 um 7:33 Uhr
Tut git status Spur .gitignore Datei ?
– Shravan40
19. Juli 2016 um 7:37 Uhr
Um die Verfolgung einer aktuell verfolgten Datei zu beenden, verwenden Sie git rm --cached.
– Joker
19. Juli 2016 um 8:34 Uhr
@Shravan nach dem Löschen .gitignore vom lokalen PC, nein
– Benutzer4576114
19. Juli 2016 um 9:04 Uhr
Beachten Sie, dass dies sowohl für das Hinzufügen einer Datei funktioniert, die einmal ignoriert wurde, als auch für das Ignorieren einer Datei, die einmal verfolgt wurde.
– SMBiggs
30. Januar 2020 um 4:56 Uhr
Saahithyan Vigneswaran
Wenn Sie alle Dateien hinzufügen möchten, löschen Sie alle Dateinamen aus .gitignore Datei, nicht die .gitignore Datei und commit es, dann versuchen
Einige Dateien werden vom Git je nach Betriebssystem ignoriert (wie .dll in Windows). Für mehr Information.
Jetzt
git add .
git status
git commit -m "your message"
Oder
Sie können einen einfachen Hack ausprobieren, er kann funktionieren oder auch nicht. Löschen Sie alle Dateinamen aus .gitignore Datei und fügen Sie diese Zeile hinzu !*.*dann add und commit.
AKTUALISIEREN
Ganz einfach, ich erkläre es an einem Beispiel. Angenommen, Sie haben eine build Ordner, der bereits hinzugefügt und von Git verfolgt wird. Jetzt entscheiden Sie sich, diesen Ordner nicht zu verfolgen.
Diesen Ordner hinzufügen (build) zu .gitignore
Löschen build Mappe
Bestätigen Sie Ihre Änderungen
Von nun an verfolgt Git nicht mehr build Mappe.
„Lösche alle Dateinamen aus der .gitignore-Datei, nicht aus der .gitignore-Datei und übertrage sie.“ Was bedeutet das?
– m93a
25. November 2017 um 9:28 Uhr
Wenn Sie wegen dieser Antwort verwirrt sind, sehen Sie sich die Antwort von @Shravan40 an: stackoverflow.com/a/38451183/1886357
– erich
1. Oktober 2019 um 20:14 Uhr
@m93a siehe Update-Abschnitt, folgen Sie den Schritten
– Saahithyan Vigneswaran
15. November 2019 um 7:48 Uhr
Es klappt
//Bestätigen Sie zuerst alle ausstehenden Codeänderungen und führen Sie dann diesen Befehl aus:
git rm -r --cached .
// Dies entfernt alle geänderten Dateien aus dem Index (Staging-Bereich) und führt dann einfach Folgendes aus:
git add .
//Verpflichten
git commit -m "Atualizando .gitignore para..."
Dies ist bereits in der akzeptierten Antwort enthalten
– erich
27. Oktober 2021 um 3:01 Uhr
Sie können dieses Problem beheben, indem Sie den Cache der spezifischen Dateien löschen, in denen dieses Problem auftritt. Das von Ihnen erwähnte Problem tritt auf, wenn Sie einige bestimmte Dateien einmal festgeschrieben haben und sie dann hinzufügen .gitignorieren später.
Die gleiche Lösung wird oben von @sharvan40 vorgeschlagen, aber Sie müssen den Cache nicht für alle Dateien entfernen. Es erstellt ein neues Commit für alle Ihre Dateien.
Vidur
Angenommen, Ihr aktuelles Arbeitsverzeichnis ist leer.
Sie können überprüfen, welche Dateien Git derzeit verfolgt, indem Sie verwenden git ls-files. Wenn Sie viele Dateien haben, können Sie verwenden git ls-files | grep hello.txt um herauszufinden, ob Git diese bestimmte Datei verfolgt.
Wenn es es verfolgt, dann verwenden Sie git rm hello.txt um es aufzuheben (wie Tim in seinem Kommentar erwähnte). Vielleicht übergeben Sie diesen nicht nachverfolgten Zustand zuerst und fügen ihn dann zu Ihrem hinzu .gitignore bei Ihrem nächsten Commit. Ich habe in der Vergangenheit ein seltsames Verhalten gesehen, als ich versuchte, im selben Commit zu ignorieren und zu entfernen.
13210900cookie-checkErzwinge, dass git .gitignore aktualisiertyes
Git Ignorieren funktioniert nicht bei Dateien, die bereits getrackt wurden. In diesem Fall müssen Sie
git rm
die Dateien zuerst, bevor Sie sie hinzufügen.gitignore
.– Tim Biegeleisen
19. Juli 2016 um 5:37 Uhr
Mögliches Duplikat von Dateien ignorieren, die bereits an ein Git-Repository übergeben wurden
– intboolstring
19. Juli 2016 um 5:38 Uhr