Verwendung von Patch-Dateien in Git
In diesem Tutorial werden wir Git-Patch-Dateien vorstellen. Der Artikel behandelt die folgenden Themen.
- Wie erstellt man Git-Patch-Dateien für Commits?
- Wie kann ich geänderte Dateien in einem Patch anzeigen?
- Wie kann ich auf Fehler prüfen?
- 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 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