Fehlerbehebung bei Git-Patch-Fehlern
- Patches in Git anwenden
-
Git-Patch-Fehler beheben:
file already exists in index
-
Git-Patch-Fehler beheben:
error in file
-
Git-Patch-Fehler beheben:
patch does not apply
- Beheben Sie den Git-Patch-Fehler, wenn keiner der oben genannten Befehle funktioniert
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 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.
LinkedInVerwandter Artikel - Git Error
- Beheben Sie den Fehler `Berechtigung verweigert`(Publickey) in Git
- Behebung eines weiteren Git-Prozesses, der in diesem Repository-Fehler zu laufen scheint
- Bower: ENOGIT Git ist nicht installiert oder nicht im PATH
- Fatal: Das Remote-Ende hat unerwartet aufgelegt Fehler in Git
- Fix: Git wird nicht als interner oder externer Befehlsfehler erkannt
- Nicht zusammengeführte Pfade im Git-Status auflösen