git reword, ohne Konflikte erneut zu lösen

8

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.

    
Patrick Chilton 12.02.2012, 21:51
quelle

2 Antworten

9

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 .

    
Jordan Lewis 13.02.2012, 00:46
quelle
1
___ tag123git ___ Git ist ein Open-Source-Versionskontrollsystem (DVCS). Verwenden Sie dieses Tag für Fragen zur Verwendung von Git und Workflows. Verwenden Sie dieses Tag nicht für allgemeine Programmierfragen, die ein Git-Repository betreffen. ___ tag123rebase ___ Ändern des Startpunkts einer Verzweigung in einem Versionskontrollsystem. ___ answer45664714 ​​___

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ösungen

     

Bietet 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.

    
___ answer9254245 ___

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 .

    
___ tag123gitrebase ___ Mit dem Befehl git-rebase können Sie die Änderungen von einer Verzweigung übernehmen und sie über einer anderen Verzweigung wiederholen. ___ qstnhdr ___ git reword, ohne Konflikte erneut zu lösen ___ qstntxt ___

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.

    
___
VonC 13.08.2017 20:39
quelle

Tags und Links