Ich habe ein Repository mit einer Datei Hello.java
. Wenn ich es kompiliere, wird eine zusätzliche Hello.class
Datei generiert.
Ich habe einen Eintrag für Hello.class
in einer .gitignore
Datei erstellt. Die Datei scheint jedoch weiterhin verfolgt zu werden.
Wie kann ich Git ignorieren lassen Hello.class
?
Antworten:
Das Problem ist, dass
.gitignore
nur Dateien ignoriert werden, die zuvor (vongit add
) nicht verfolgt wurden . Laufen Siegit reset name_of_file
, um die Datei zu entfernen und zu behalten. Wenn Sie die angegebene Datei auch aus dem Repository entfernen möchten (nach dem Push), verwenden Siegit rm --cached name_of_file
.quelle
git rm --cached name_of_file
entfernt die Datei aus Ihrem Git-Repo. Auch wenn Sie es Ihrer .gitignore-Datei hinzufügen. Das ignoriert nicht, dass gelöscht wird.git reset name_of_file
Entfernt das Tracking und löscht die Datei nicht.So ignorieren Sie neue Dateien
Global
Fügen Sie die Pfade zu Ihren Dateien hinzu, die Sie in Ihrer
.gitignore
Datei ignorieren möchten (und legen Sie sie fest). Diese Dateieinträge gelten auch für andere, die das Repository auschecken.Örtlich
Fügen Sie die Pfade zu Ihren Dateien hinzu, die Sie zu Ihrer
.git/info/exclude
Datei ignorieren möchten . Diese Dateieinträge gelten nur für Ihre lokale Arbeitskopie.So ignorieren Sie geänderte Dateien (vorübergehend)
Um zu ignorieren, dass geänderte Dateien als geändert aufgelistet werden, können Sie den folgenden git-Befehl verwenden:
Verwenden Sie den folgenden Befehl, um diese Unwissenheit rückgängig zu machen:
quelle
local
git ignoriert haben, und mein System neu gestartet. Es zeigt immer noch, dass es direkt sauber funktioniert.update-index
Trick, der absolut perfekt ist, um das Ändern einer.gitignore
Datei zu vermeiden , die dann von Git verfolgt wird!Fügen Sie .gitignore die folgende Zeile hinzu:
Dadurch wird Hello.class von git ausgeschlossen. Wenn Sie es bereits festgeschrieben haben, führen Sie den folgenden Befehl aus:
Wenn Sie alle Klassendateien von git ausschließen möchten, fügen Sie .gitignore die folgende Zeile hinzu:
quelle
Hello.class
zu.gitignore
werden alleHello.class
in einem Unterverzeichnis aufgerufenen Dateien ignoriert . Wenn Sie nur die DateiHello.class
im selben Verzeichnis wie die.gitignore
Datei ignorieren möchten, verwenden Sie/Hello.class
stattdessen eine Zeile..gitignore
Datei ab?.gitignore
an einer beliebigen Stelle in ein Git-Projekt einfügen. Wenn ein Pfad mit beginnt/
, ist er relativ zum Speicherort der.gitignore
Datei. Andernfalls wird rekursiv auf Dateien im aktuellen Verzeichnis und seinen untergeordneten Verzeichnissen verwiesen.1) Erstellen Sie eine
.gitignore
Datei. Dazu erstellen Sie einfach eine.txt
Datei und ändern die Erweiterung wie folgt:Dann müssen Sie den Namen ändern und die folgende Zeile in ein cmd-Fenster schreiben:
Wo
git.txt
ist der Name der Datei, die Sie gerade erstellt haben?Anschließend können Sie die Datei öffnen und alle Dateien, die Sie nicht hinzufügen möchten, in das Repository schreiben. Zum Beispiel sieht meine so aus:
Sobald Sie dies haben, müssen Sie es Ihrem Git-Repository hinzufügen. Sie müssen die Datei speichern, in der sich Ihr Repository befindet.
Dann müssen Sie in Git Bash die folgende Zeile schreiben:
Wenn das Repository bereits vorhanden ist, müssen Sie Folgendes tun:
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
Wenn Schritt 2 nicht funktioniert, sollten Sie die gesamte Route der Dateien schreiben, die Sie hinzufügen möchten.
quelle
Ignorieren:
So ignorieren Sie:
quelle
lstat(2)
Kosten behält sich das Recht zu berichten , dass der Pfad wurde geändert (...git commit -a
ist frei , dass der Wandel zu begehen).‘Sie können die folgenden Methoden verwenden, um Änderungen in nachverfolgten Dateien zu ignorieren / nicht zu ignorieren.
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
quelle
lstat(2)
Kosten behält sich das Recht zu berichten , dass der Pfad wurde geändert (...git commit -a
ist frei , dass der Wandel zu begehen).‘Erstellen Sie eine
.gitignore
in dem Verzeichnis, in dem sich .git befindet. Sie können Dateien darin durch einen Zeilenumbruch getrennt auflisten. Sie können auch Platzhalter verwenden:quelle
.gitignore
Dateien eingefügt werden (es sei denn, dieses Werkzeug wird vom Projekt vorgeschrieben). Sie können Muster für Ihre bevorzugten Werkzeuge in die Datei (Setcore.excludesFile
) für Benutzer pro Benutzer einfügen . Sie funktionieren in allen Repositorys. ZBgit config --global core.excludesFile "$HOME/.git-user-excludes"
dann legen Sie sie in diese Datei.Von der offiziellen GitHub-Seite:
Wenn Sie bereits eine Datei eingecheckt haben und diese ignorieren möchten, ignoriert Git die Datei nicht, wenn Sie später eine Regel hinzufügen. In diesen Fällen müssen Sie zuerst die Datei entfernen, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
oder
quelle
Du solltest so etwas schreiben
in Ihre
.gitignore
Datei.quelle
*.class
zu Ihrem hinzufügen.gitignore
, damit git alle Dateien ignoriert, die auf enden.class
.Fügen Sie der Datei hinzu, welche Dateien Sie ignorieren möchten
.gitignore
:*.Klasse
* .projects
* .prefs
*.Projekt
quelle
Durch Erstellen einer Gitignore-Datei. Einzelheiten finden Sie hier: Git Book - Dateien ignorieren
Schauen Sie sich auch Folgendes an : Wie lässt man Git Dateien ignorieren, ohne .gitignore zu verwenden?
quelle
Wenn Sie die Datei bereits festgeschrieben haben und versuchen, sie durch Hinzufügen zur
.gitignore
Datei zu ignorieren, wird sie von Git nicht ignoriert. Dafür müssen Sie zuerst die folgenden Dinge tun:Wenn Sie das Projekt neu starten und einige Dateien zu Git Ignorieren hinzufügen möchten, führen Sie die folgenden Schritte aus, um eine Git-Ignorierdatei zu erstellen:
.gitignore
Datei zu erstellen .quelle
Sie können auch .gitattributes (anstelle von .gitignore) verwenden, um ganze Dateitypen auszuschließen. Die Datei ist ziemlich selbsterklärend, aber ich füge den Inhalt hier als Referenz ein. Achten Sie auf die letzte Zeile (* .class binary):
quelle
Fügen Sie die folgende Zeile zu .git / info / exclude hinzu:
Hello.class
quelle
.git
?Ich hatte ein ähnliches Problem mit der Datei "dump.rdb".
Ich habe versucht, diese Datei auf verschiedene Arten zur .gitignore-Datei hinzuzufügen, aber nur eine Möglichkeit hat funktioniert.
HINWEIS: Das Hinzufügen der Datei an einer anderen Stelle hat nicht funktioniert.
Siehe beispielsweise: https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
quelle
Diese Webseite kann nützlich und zeitsparend sein, wenn Sie mit arbeiten
.gitignore
.Es generiert automatisch Gitignore-Dateien für verschiedene IDEs und Betriebssysteme mit den spezifischen Dateien / Ordnern, die Sie normalerweise nicht in Ihr Git-Repository ziehen möchten (z. B. IDE-spezifische Ordner und Konfigurationsdateien).
quelle
Ich habe es versucht -
git status .idea/xyz.xml .idea/pqr.iml Output .DS_Store
echo " .idea/xyz.xml .idea/pqr.iml Output .DS_Store" >> .gitignore
git status .gitignore
Ebenso können wir das Verzeichnis und alle seine Unterverzeichnisse / Dateien hinzufügen, die wir im Git-Status ignorieren möchten,
directoryname/*
und ich habe diesen Befehl aus demsrc
Verzeichnis ausgeführt.quelle
git rm -r --cached .
git add .
quelle
Ich habe das ausprobiert
--assume-unchanged
und auch das hat.gitignore
aber auch nicht gut funktioniert. Sie machen es schwierig, Zweige zu wechseln und Änderungen von anderen zusammenzuführen. Das ist meine Lösung:Wenn ich begehen , manuell ich die Dateien aus der Liste entfernen Änderungen
Bevor ich ziehe , verstecke ich die geänderten Dateien. Und nach dem Ziehen mache ich einen Stash Pop .
Schritt 3 löst manchmal eine Zusammenführung aus und kann zu Konflikten führen, die Sie lösen müssen. Dies ist eine gute Sache.
Auf diese Weise kann ich lokale Änderungen beibehalten, die nicht mit anderen im Team geteilt werden.
quelle