Ignorieren Sie nicht nachverfolgte Dateien in Git

John Wachira 20 Juni 2023
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 Wachira avatar John Wachira avatar

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

Verwandter Artikel - Git Ignore