Ich habe 2 lokale Git-Repositorys, die beide auf dasselbe Remote-Repository verweisen.
git format-patch 1
Wie kann ich diesen Patch in einem Git-Repository auf das andere Repository anwenden?
Hinweis: Sie können zunächst eine Vorschau der Funktionen Ihres Patches anzeigen:
Zuerst die Statistiken:
git apply --stat a_file.patch
Dann ein Trockenlauf, um Fehler zu erkennen:
git apply --check a_file.patch
Schließlich können Sie git am
Ihren Patch als Commit anwenden: Sie können einen angewendeten Patch abmelden.
Dies kann zum späteren Nachschlagen nützlich sein.
git am --signoff < a_file.patch
Siehe ein Beispiel in diesem Artikel :
In Ihrem Git-Protokoll finden Sie, dass die Festschreibungsnachrichten ein "Abgemeldet von" -Tag enthalten. Dieses Tag wird von Github und anderen gelesen, um nützliche Informationen darüber zu erhalten, wie das Commit im Code gelandet ist.
git am < somepatch.patch
ergibt "fatal: leerer Identitätsname (für <>) nicht erlaubt". Kann mir jemand erklären warum?Author
Header im Patch, und / oder du hast es nicht getangit config user.{name,email}
.git apply --check
sagtpatch does not apply
undgit apply -3
sagtrepository lacks the necessary blob to fall back on 3-way merge.
In git ist es ein Kinderspiel, Commits neu zu gründen; Aber wie können Benutzer ihre Patches auf den aktualisierten Code zurücksetzen ?quelle
Oder, wenn Sie es in die alte Schule treten:
quelle
Zuerst sollten Sie sich den Unterschied zwischen
git am
und notierengit apply
Wenn Sie verwenden
git am
, möchten Sie normalerweise viele Patches anwenden. Daher sollte verwendet werden:oder nur:
Git findet Patches automatisch und wendet sie der Reihe nach an ;-)
UPD
Hier erfahren Sie, wie Sie solche Patches generieren
quelle
git apply
.. und in--reverse
:-) 👍Wenn Sie es als Commit anwenden möchten , verwenden Sie git am .
quelle
Wenn Sie eine JetBrains-IDE (wie IntelliJ IDEA, Android Studio, PyCharm) verwenden, können Sie die Patch-Datei ziehen und in die IDE ablegen. Daraufhin wird ein Dialogfeld mit dem Inhalt des Patches angezeigt. Jetzt müssen Sie nur noch auf "Patch anwenden" klicken und ein Commit wird erstellt.
quelle
Sie können das unten genannte cmd verwenden
quelle