Fix: Gitignore funktioniert nicht

GitHub hat sich zu einem führenden Pionier auf dem Gebiet der Code-Zusammenarbeit und der gemeinsamen Nutzung von Repositorys entwickelt. GitHub ist in erster Linie eine Versionskontrollsoftware, mit der Benutzer die verteilte Versionskontrolle und SCM (Quellcodeverwaltung) steuern können. Diese Plattform wird von großen Unternehmen auf der ganzen Welt genutzt.

Plattformen wie diese haben ihre technischen Details und Probleme. Ein spezifisches Problem, das die Codierer hatten, war, dass .gitignore in GitHub nicht funktionierte. Die Plattform ignorierte entweder den .gitignore oder funktionierte teilweise. Es ist interessant festzustellen, dass das Problem in jedem Fall etwas anders sein kann, da es sich bei jedem Fall um ein völlig anderes Szenario handelt. Die von uns aufgelisteten Lösungen enthalten jedoch Korrekturen, die universell funktionieren.

Was ist .gitignore?

Git (oder GitHub) sieht jede Datei in Ihrem Arbeitsverzeichnis. Es charakterisiert jede Datei als eine der drei:

  • Verfolgt: Diese Dateien werden entweder festgeschrieben oder zuvor im Verlauf bereitgestellt.
  • Unverfolgt: Dies sind die Dateien, die zuvor noch nicht bereitgestellt oder festgeschrieben wurden.
  • Ignoriert: Dies sind die Dateien, die der Benutzer selbst Git angewiesen hat, vollständig zu ignorieren.

Diese ignorierten Dateien können von Szenario zu Szenario variieren und sind meist maschinengenerierte Dateien oder Build-Artefakte. Dies ist die übliche Praxis; Möglicherweise ignorieren Sie verschiedene andere Dateien entsprechend Ihren eigenen Anforderungen. Einige Beispiele für diese Dateien sind:

  • Kompilierter Code: Diese Dateien haben normalerweise die Erweiterung .class, .pyc, .ccp usw.
  • Versteckte Systemdateien: Hierbei handelt es sich um Dateien, die vom System für seine Vorgänge verwendet werden, jedoch nicht sichtbar sind, z. B. DS_Store oder Thumbs.db usw.
  • Ausgabeverzeichnisse erstellen: Dies sind meistens die Verzeichnisse von / bin, / out usw.
  • Abhängigkeits-Caches: Diese Dateien können den Inhalt von / node- oder / packages-Modulen enthalten.
  • IDE-Konfigurationsdateien: Dies sind Konfigurationsdateien, die hauptsächlich von Ihrer IDE-Software erstellt oder verwaltet werden.
  • Zur Laufzeit generierte Dateien: Es gibt einige Programme, die zur Laufzeit Dateien erstellen. Wenn einer dieser Codes ausgeführt wird, werden möglicherweise einige Dateien zur Laufzeit in Ihrem Arbeitsordner generiert und Sie können sie in Git ignorieren.

Welche Datei Sie ignorieren möchten, wird in einer speziellen Datei mit dem Namen .gitignore verfolgt, die meistens im Stammverzeichnis Ihres Arbeitsrepositorys überprüft wird. Laut der offiziellen Dokumentation von GitHub zu diesem Thema gibt es keinen spezifischen gitignore-Befehl. Stattdessen müssen Sie die Datei, die Sie ignorieren möchten, manuell bearbeiten. Die .gitignore-Datei enthält Muster, die mit den Dateinamen in Ihrem Arbeitsrepository abgeglichen werden. Diese werden verwendet, um zu bestimmen, ob eine bestimmte Datei ignoriert werden soll oder nicht.

Was führt dazu, dass .gitignore nicht funktioniert?

Die .gitignore-Funktion funktioniert möglicherweise einwandfrei, Sie haben sie jedoch möglicherweise nicht richtig konfiguriert. In all unseren Umfragen kamen wir zu dem Schluss, dass das Modul tatsächlich funktioniert. Der Grund, warum Codierer die Funktion nicht verwenden können, liegt hauptsächlich darin, dass sie die Datei nicht richtig konfiguriert haben oder dass einige Bedingungen im zugrunde liegenden Code nicht erfüllt sind.

Hier sind einige Lösungen, die für Sie funktionieren könnten. In Ihrem Fall ist möglicherweise nicht jede Lösung anwendbar. Stellen Sie daher sicher, dass Sie zur nächsten wechseln, wenn die Anfangsbedingungen nicht erfüllt sind.

Lösung 1: Überprüfen der Gitignore-Datei

Es ergab sich ein interessanter Fall, in dem wir sahen, dass die .gitignore-Datei im falschen Format erstellt wurde. Dieses spezielle Problem trat auf, als Benutzer die Datei mit der Standardanwendung von Notepad unter Windows erstellten. Es stellt sich heraus, dass Notepad die Datei im Unicode-Format anstelle des ANSI-Formats schreibt. In dieser Lösung speichern wir die Änderungen von Notepad im richtigen Format von .gitignore und prüfen, ob das Problem dadurch behoben wird.

Hinweis: Sie müssen die Erweiterung von .txt aus der Datei entfernen, wenn Sie mit dem Editor eine neue Datei erstellen.

  1. Klicken Sie nach dem Schreiben des Codes oder Änderungen in einem neuen Textdokument im Editor auf Datei und auswählen Speichern als.
  1. Jetzt vor Codierung, wählen ANSI. Entfernen Sie nun die Dateierweiterung von .txt und speichern Sie die Datei unter dem Namen „.gitignore’. Wählen Sie das richtige Verzeichnis und speichern Sie.
  1. Navigieren Sie nun zum Verzeichnis und prüfen Sie, ob die richtige Datei erstellt wurde. Testen Sie es jetzt erneut mit Git und prüfen Sie, ob die Ignorierfunktion wie erwartet funktioniert.

Entwickler sollten den Standard-Editor in Windows nicht verwenden. Verwenden Sie stattdessen den richtigen Notizblock für Programmierer. Einige Beispiele sind Notepad ++ usw. In diesen Fällen treten keine derartigen Probleme auf.

Hinweis: Wenn Ihre Datei bereits im UNICODE-Format gespeichert ist, sollten Sie den Inhalt ordnungsgemäß im ANSI-Format speichern, wenn Sie möchten, dass Ihre Datei von Git ordnungsgemäß erkannt wird.

Lösung 2: Überprüfen Sie die Datei, die Sie ignorieren möchten

Eine weitere Bedingung, unter der .gitignore funktioniert, ist, dass Ihre Datei nicht sein sollte Teil des Repositorys noch. Dies ist ein sehr wesentlicher Aspekt, da die Datei nicht so ignoriert wird, wie sie ist schon hinzugefügt zum Repository. Git kann dies nicht ignorieren, selbst wenn Sie seinen Namen oder seine Regel in die .gitignore-Datei einfügen. Git ignoriert es also im Wesentlichen nur nicht verfolgte Dateien.

Sie sollten sich Ihre Struktur (Repository) ansehen und sicherstellen, dass die Datei, die Sie derzeit ignorieren möchten, nicht zum Repository hinzugefügt wird. Wenn dies der Fall ist, müssten Sie die Datei aus dem Repository entfernen und nach dem Festschreiben der letzten Änderungen ihren Namen zu .gitignore hinzufügen (Sie können auch den Inhalt der Datei kopieren und sie nach dem Löschen unter einem anderen Namen replizieren). .

Lösung 3: Erneutes Hinzufügen von Dateien zum Repository

Wenn Sie .gitignore bereits Regeln hinzugefügt haben, die zu ignorierenden Dateien jedoch bereits hinzugefügt wurden, können wir die Dateien erneut hinzufügen. Hinzufügen bedeutet, dass wir alles aus dem Git-Index entfernen und dann alles wieder in Ihr Repository aufnehmen. Wenn wir Dateien erneut von Grund auf neu hinzufügen, werden die Regeln berücksichtigt, die Sie in .gitignore hinzugefügt haben, und es werden nur die richtigen Dateien hinzugefügt.

Hinweis: Sie sollten Ihren Code auch an einer anderen Stelle sichern, bevor Sie diese Lösung ausführen. Es ist immer gut, ein Backup für alle Fälle zu haben.

  1. Führen Sie den folgenden Befehl aus. Dadurch werden die Pfade zu Ihren Dateien rekursiv entfernt und rekursiv aus dem Git-Index entfernt.
git rm -r --cached.
  1. Nachdem dies ausgeführt wurde, sollten Sie den folgenden Befehl ausführen. Dadurch werden alle Ihre Dateien wieder hinzugefügt, und da .gitignore die Regeln enthält, werden nur die richtigen Dateien aktualisiert.
git hinzufügen.
  1. Jetzt werden wir alle Ihre Dateien mit dem folgenden Code wieder in den Index übernehmen:
git commit -m ".gitignore funktioniert jetzt"

Überprüfen Sie nun Ihre Dateien und prüfen Sie, ob das Problem behoben ist. Sie können .gitignore ohne Probleme erneut verwenden.

Facebook Twitter Google Plus Pinterest