Ist es möglich, Commit-Nachrichten mit git-Rebase zu ändern, ohne Merge-Konflikte erneut lösen zu müssen?
Ich muss ein älteres Repo bowdlerisieren und ich möchte nicht den tatsächlichen Code ändern, nur die Nachrichten.
Ich habe --preserve-merges
ausprobiert.
Es gibt ein wenig bekanntes Feature von Git namens "Reuse Recorded Resolutions", oder rereere.
Sie können es global aktivieren, indem Sie git config --global rerere.enabled 1
ausführen.
Wenn rerere aktiviert ist, speichert Git automatisch Konfliktlösungen und verwendet diese später, wenn es zu den gleichen Konflikten kommt. Dies hat das Endergebnis, dass der Benutzer diese zuvor gesehenen Konflikte nicht erneut auflösen muss.
Die Funktion wird weiter in einem Beitrag auf git-scm.com erläutert. Weitere Informationen finden Sie im Hilfedokument für git rerere .
Hinweis: Seit dem contrib/rerere-train.sh
Skript soll train rerere (Sie können hier eine manuelle Umschulung sehen )
Um sicherzustellen, dass rerere
die aktuelle Rebase-Auflösung vergisst, haben Sie jetzt eine offizielle Option mit Git 2.14.x / 2.15 (Q3 2017) für contrib/rerere-train
: das --overwrite
-Flag.
Siehe commit ad53bf7 (26 Jul 2017) von Raman Gupta ( rocketraman
) .
(Zusammengeführt von Junio C Hamano - gitster
- - in commit aec68c3 , 11 Aug. 2017)
contrib/rerere-train
: überschreibt optional vorhandene AuflösungenBietet dem Benutzer eine Option zum Überschreiben vorhandener Auflösungen mit einem
--overwrite
-Flagge.Dies kann zum Beispiel verwendet werden, wenn der Benutzer weiß, dass er bereits einen Eintrag in seinem Rerere-Cache für einen Konflikt hat, ihn jedoch löschen und basierend auf dem (den) zum Rerer-Train übergebenen Merge Commit (s) erneut trainieren möchte Skript.
Es gibt ein wenig bekanntes Feature von Git namens "Reuse Recorded Resolutions", oder rereere.
Sie können es global aktivieren, indem Sie %code% ausführen.
Wenn rerere aktiviert ist, speichert Git automatisch Konfliktlösungen und verwendet diese später, wenn es zu den gleichen Konflikten kommt. Dies hat das Endergebnis, dass der Benutzer diese zuvor gesehenen Konflikte nicht erneut auflösen muss.
Die Funktion wird weiter in einem Beitrag auf git-scm.com erläutert. Weitere Informationen finden Sie im Hilfedokument für git rerere .
Ist es möglich, Commit-Nachrichten mit git-Rebase zu ändern, ohne Merge-Konflikte erneut lösen zu müssen?
Ich muss ein älteres Repo bowdlerisieren und ich möchte nicht den tatsächlichen Code ändern, nur die Nachrichten.
Ich habe %code% ausprobiert.
Tags und Links git rebase git-rebase