Ignorieren Sie nicht nachverfolgte Dateien in Git
In diesem Artikel werden zwei Methoden erläutert, mit denen Sie nicht nachverfolgte Dateien in unserem Git-Repository ignorieren können. Wenn Sie den Befehl git status
ausführen, werden viele Zeilen ausgegeben, wenn Sie mehrere nicht verfolgte Dateien und Ordner in Ihrem lokalen Repository haben.
Lassen Sie uns gleich einsteigen.
Ignorieren Sie nicht nachverfolgte Dateien in Git
Wir werden die beiden Methoden anhand von zwei verschiedenen Szenarien behandeln. In unserem ersten Fall haben wir das Repository Delftscopetech
.
Hier ist, was wir in unserem Repository haben.
pc@JOHN MINGW64 ~/Documents/GitHub/Delftscopetech (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: Delft.pdf
new file: sample.ph
Untracked files:
(use "git add <file>..." to include in what will be committed)
Example Code 2
Example Code 2.php
Example Code 3.php
Example code 1.php
downloadpdf.php
htmllinkpdf.html
insert.php
Der Befehl git status
zeigt zwei Dateien an, die zum Übertragen bereit sind, und mehrere nicht verfolgte Dateien. Wir wollten die nicht verfolgten Dateien von der Ausgabe ausschließen, ohne sie zu löschen.
Wie würden wir vorgehen?
Fügen Sie den Parameter -uno
zum Befehl git status
hinzu; es ist so einfach. Probieren wir es mit unserem Repository aus.
pc@JOHN MINGW64 ~/Documents/GitHub/Delftscopetech (main)
$ git status -uno
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: Delft.pdf
new file: sample.php
Untracked files not listed (use -u option to show untracked files)
Der Parameter -uno
ist ein Alias für --untracked-files=no
.
Wenn wir den Befehl git status
ohne den Parameter ausführen, werden die nicht verfolgten Dateien angezeigt.
Was ist, wenn wir nicht verfolgte Dateien dauerhaft ignorieren möchten? Wie machen wir das?
Wir verwenden den folgenden Befehl.
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
Dadurch werden aktuelle, nicht nachverfolgte Dateien in Ihrem Repository dauerhaft ausgeblendet. Beachten Sie, dass Sie eine vorhandene .gitignore
-Datei benötigen, damit der Befehl funktioniert.
Wenn Sie die Datei nicht haben, ignoriert sich gitignore
selbst. Verwenden Sie den folgenden Befehl, wenn Sie die Datei .gitignore
nicht haben.
echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore
Der Teil git status --porcelain
wird ausgeführt, bevor die Datei .gitignore
erstellt wird. Wir verwenden git status --porcelain
anstelle von git status --short
, um die Ausgabe in einem einfach zu analysierenden Format zu erhalten.
Der Teil grep '^??'
filtert alle Zeilen heraus, die mit ??
beginnen. Laut dem Handbuch entsprechen diese Zeilen den nicht getrackten Dateien im Repository.
Der cut -c4-
-Teil ebnet den Weg zur ungetrackten Datei, indem er die ersten drei Zeichen jeder Zeile entfernt.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn