Verwendung von Patch-Dateien in Git

John Wachira 23 August 2022
Verwendung von Patch-Dateien in Git

In diesem Tutorial werden wir Git-Patch-Dateien vorstellen. Der Artikel behandelt die folgenden Themen.

  1. Wie erstellt man Git-Patch-Dateien für Commits?
  2. Wie kann ich geänderte Dateien in einem Patch anzeigen?
  3. Wie kann ich auf Fehler prüfen?
  4. Wie wendet man einen Git-Patch an?

Wir verwenden eine Git-Patch-Datei, um die Änderungen von Commits zu speichern. Eine Patch-Datei enthält Daten wie das Datum eines Commit und eine Nachricht.

Sie können einen Git-Patch verwenden, um Änderungen auf Ihr Repository anzuwenden. Diese Patch-Dateien sind praktisch, wenn Sie keinen Schreibzugriff haben.

Erstellen Sie eine Patch-Datei aus Commits in Git

Wir verwenden den Befehl git format-patch, um Patch-Dateien zu generieren.

Um eine Patch-Datei für eine bestimmte Anzahl von Commits vor dem ausgewählten Commit zu erstellen, wenden Sie die Option -N auf Ihren Befehl an.

git format-patch -N <sha1-commit-hash>

Eine Alternative zum commit hash ist HEAD.

git format-patch -N HEAD

Verwenden Sie den folgenden Befehl, um eine Patch-Datei für einen bestimmten Bereich von Commits zu erstellen.

git format-patch <first-commit-hash>^..<end-commit-hash>

Fügen Sie Ihrem Befehl stdout>file.patch hinzu, um eine Datei für mehrere Commits zu erstellen.

Um alle Änderungen in Ihrer Patch-Datei anzuzeigen, führen Sie den Befehl git apply --stat <file.patch> aus.

git apply --stat <file.patch>

Der obige Befehl gibt die Patch-Datei an, aus der gelesen werden soll.

Wenn Sie den Patch auf Ihr Repository anwenden möchten, verwenden Sie den folgenden Befehl.

git apply <file.patch>

Der Befehl git format-patch speichert Ihren Commit in einem UNIX-Mailbox-Format. Sie können Patch-Dateien per E-Mail senden und empfangen.

Wenn Sie den Befehl git apply ausführen, um einen Patch anzuwenden, ignoriert Git die gepatchten Pfade, die nicht im Arbeitsverzeichnis Ihres Repositorys vorhanden sind.

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 Patch