git füge alle hinzu, außer das Ignorieren von Dateien in der .gitignore-Datei


120

Ich füge einem Projekt, das keine hatte, die Quellcodeverwaltung hinzu. Das Problem ist, dass es eine Menge Dateien gibt, die anfänglich mit einer .gitignore- Datei zu git hinzugefügt werden müssen, aber ich kann nicht herausfinden, wie alle Dateien hinzugefügt werden können, ohne die Dateien in die .gitignore- Datei aufzunehmen.

git add *

Der obige Befehl fügt keine Dateien hinzu, da er Dateien erkennt, die vom Gitignore ignoriert werden .

git add -f *

Mit dem obigen Befehl werden alle Dateien hinzugefügt, einschließlich der Dateien, die ich ignorieren möchte.

Wie füge ich alle Dateien hinzu, während ich mich weiterhin an die .gitignore- Datei halte ?

Antworten:


251

Ich denke, Sie meinen git add ., dass alle Dateien zu dem Repo hinzugefügt werden, das NICHT in angegeben ist .gitignore- Sie können diese Änderungen durch Eingabe sehengit status

Das .in bash bedeutet normalerweise dieses Verzeichnis und alle anderen Verzeichnisse rekursiv. Wenn Sie dies also von der untersten Ebene Ihres Repos aus tun, sollten Sie alle Dateien hinzufügen.

Mein üblicher Git-Flow besteht darin, die .gitignoreDatei zu erstellen und die Projektdateien zum Repo hinzuzufügen. Ich teste die .gitignoreDatei durch Eingabe git statusnach dem Importieren der Dateien. Wenn ich die Dateien sehe, die ich hinzugefügt habe (zum Beispiel nur .php oder .html, NICHT .mp3 oder .mov), können git add .Sie alle und git commit -m "initial commit"zu hinzufügen Übernehmen Sie sie und Sie sollten eingestellt sein.


3
Was ist, wenn ich mache, git add --all .was ist der Unterschied git add .in diesem Zusammenhang?
Katedral Pillon

2
es ist das gleiche wie git add.
user454232

27
git add .

Dadurch werden alle Pfade hinzugefügt und Übereinstimmungen von .gitignore ignoriert


13

Versuchen Sie es git add . (was bedeutet "alle Dateien im aktuellen Verzeichnis und darunter hinzufügen")


5

Eine andere Möglichkeit ist die Verwendung der Git-Repo- excludeDatei. Diese Datei funktioniert ähnlich wie eine .gitignoreDatei, ist jedoch nicht an das Repo gebunden.

Aus den Github-Dokumenten :

Sie können diese Technik für lokal generierte Dateien verwenden, von denen Sie nicht erwarten, dass sie von anderen Benutzern generiert werden, z. B. von Ihrem Editor erstellte Dateien.

Verwenden Sie Ihren bevorzugten Texteditor, um die .git/info/excludeim Stammverzeichnis Ihres Git-Repositorys aufgerufene Datei zu öffnen . Alle Regeln, die Sie hier hinzufügen, werden nicht eingecheckt und ignorieren nur Dateien für Ihr lokales Repository.

  1. Navigieren Sie im Terminal zum Speicherort Ihres Git-Repositorys
  2. Öffnen Sie die Datei mit Ihrem bevorzugten Texteditor .git/info/exclude
  3. Fügen excludeSie der .gitignoreDatei Regeln hinzu, wie Sie es mit der Datei tun würden
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.