Wahrscheinlich Die beste Option hierfür wäre die Verwendung von git merge --squash
zur Zusammenführungszeit. Das wird Ihre Branche so belassen, wie sie sich entwickelt hat, was oft viel einfacher zu beheben ist, weil Sie die Vorstellung haben "Ich habe diese spezifische Funktionalität in Commit Z geändert", und wenn Sie sich diese spezifische Aufgabe ansehen, haben Sie alle Der Kontext von Änderungen, die Sie an mehreren Dateien vorgenommen haben - ein einzelner Commit zu betrachten, bei dem es sich um die gequetschten Ergebnisse Ihres Entwicklungspfades handelt, macht es etwas schwieriger, sich daran zu erinnern. "Oh, ja, ich musste diese eine Sache in einer anderen Datei ändern , auch...". Sie haben auch den Vorteil, git bisect
zu verwenden, wenn Sie Ihren gesamten Weg zur Verfügung haben - alles, was es Ihnen im gequetschten Fall sagen könnte, ist "dieses riesige Festschreiben brach hier etwas".
Das Ergebnis der Verwendung von git merge --squash
ist ein einzelner Commit für den Zweig, in den Sie "einbinden", der die kumulativen Änderungen von Ihrem Zweig enthält, aber Ihren ursprünglichen Zweig allein belässt.
Vielleicht verwenden Sie 'git merge --squash', um zu vermeiden, dass Sie Ihren gesamten Zweig vorher quetschen müssen? – twalberg
@twalberg bitte machen Sie eine Antwort – jthill
'git Merge --squash' funktioniert nicht, wenn Sie Github Pull-Anfragen zu tun, die meisten Ihrer Branche Merging, die eine ziemlich häufige Fall ist – meagar