Erzwinge, dass git .gitignore aktualisiert

Lesezeit: 4 Minuten

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

Benutzer-Avatar
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

Benutzer-Avatar
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

git config --global core.excludesfile ~/.gitignore_global

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.

  1. Diesen Ordner hinzufügen (build) zu .gitignore
  2. Löschen build Mappe
  3. 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.

git rm -r --cached <your_file.extension>
git commit -am "Suitable Message"

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.

Benutzer-Avatar
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.

1321090cookie-checkErzwinge, dass git .gitignore aktualisiert

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

Privacy policy