Fehlerbehebung bei Git-Patch-Fehlern

John Wachira 23 August 2022
  1. Patches in Git anwenden
  2. Git-Patch-Fehler beheben: file already exists in index
  3. Git-Patch-Fehler beheben: error in file
  4. Git-Patch-Fehler beheben: patch does not apply
  5. Beheben Sie den Git-Patch-Fehler, wenn keiner der oben genannten Befehle funktioniert
Fehlerbehebung bei Git-Patch-Fehlern

In diesem Artikel werden einige häufige Fehler im Zusammenhang mit der Anwendung von Git-Patches behoben. Wir werden sehen, wie Sie Fehler vermeiden und beheben können, wenn sie auftreten.

Patches in Git anwenden

Der Befehl git am kann Patches in Git anwenden, wie unten gezeigt.

$ git am <patch_file>

Stellen Sie vor dem Anwenden eines Patches sicher, dass Sie sich auf dem richtigen Zweig befinden. Verwenden Sie den Befehl git checkout, um zu dem Zweig zu wechseln, auf den Sie den Patch anwenden möchten.

git checkout <Branch_Name>

Überprüfen Sie nach dem Anwenden des Patches mit dem git log, ob es erfolgreich war.

$ git log --oneline --graph

Manchmal treten beim Anwenden von Git-Patches Fehler auf. Lassen Sie uns einen Blick auf einige häufige Fehler werfen und diskutieren, wie man damit umgeht.

Git-Patch-Fehler beheben: file already exists in index

Dieser Fehler ist einer der häufigsten Fehler im Zusammenhang mit Git-Patches und ziemlich einfach zu handhaben. Sie versuchen, einen Patch anzuwenden, der Dateien enthält, die bereits in Ihrem Zweig vorhanden sind.

Überprüfen Sie die in Ihrem Index vorhandenen Dateien. Verwenden Sie den Befehl git ls-files und fügen Sie die Option --stage hinzu.

Beispiel:

$ git ls-files --stage <directory>

700574 eaa5fa8755fc20f08d0b3da347a5d1868404e462 0       file1.txt
670644 61780798228d17af2d34fce4cfbdf35556832472 0       file2.txt

Sie erhalten wahrscheinlich den Fehler file already exists in index, wenn Ihr Patch eine der Dateien in der obigen Ausgabe enthält.

Abhilfe schaffen Sie, indem Sie den Fehler beim Einspielen des Patches ignorieren. Sie müssen Ihrem Befehl das Argument --skip hinzufügen.

$ Git am --skip

Git-Patch-Fehler beheben: error in file

Dies ist ein typischer Fall von Zusammenführungsfehlern. Es ist vergleichbar mit Verzweigungszusammenführungsfehlern.

Sie können Abhilfe schaffen, indem Sie die verantwortlichen Dateien identifizieren und bearbeiten.

Git-Patch-Fehler beheben: patch does not apply

Dieser Fehler tritt auf, wenn Git nicht bestimmen kann, wie Ihr Patch angewendet werden soll. Nachfolgend finden Sie einen Befehl, mit dem Sie diesen Fehler beheben können.

git apply --reject --whitespace=fix mychanges.patch

Beachten Sie das Argument --reject. Wir verwenden es, um Git anzuweisen, die Dateien zu patchen, die es kann, und eine .rej-Datei zu erstellen, die enthält, was es nicht herausfinden kann, wie es gepatcht werden kann.

Anschließend können Sie die Konflikte manuell lösen. Alternativ können Sie den folgenden Befehl verwenden.

git apply --ignore-space-change --ignore-whitespace mypatch.patch

Beheben Sie den Git-Patch-Fehler, wenn keiner der oben genannten Befehle funktioniert

Wenn keine der oben genannten Methoden funktioniert, greifen Sie auf eine 3-Wege-Zusammenführung zurück. Verwenden Sie den folgenden Befehl.

git apply --3way Mypatch.patch

Dieser Befehl weist Git an, die verfügbaren Patches zu erstellen, und lässt Sie mit den Konflikten zurück. Sie können die Konflikte manuell beheben.

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 Error