Ich habe gerade meinen Git Repo synchronisiert und bin in eine Regression geraten. Ich würde gerne die Geschichte durchgehen, bis ich das Commit für schuldig befunden habe, aber es gab eine riesige Zusammenführung, die sich nur als ein einziges Commit zeigt, wenn ich git log
mache.
Gibt es eine Möglichkeit, diese Zusammenführung in meinem lokalen Zweig zu reduzieren, so dass git log
nur eine lineare Historie hat, durch die ich gehen kann?
Was Sie suchen, ist interactive rebase .
Sie können gegen den Master über git rebase -i master
rebasen. Du solltest etwas wie
Sie können dann die "Pick" s nach dem ersten zu "Squash" ändern. Dies wird sie alle in den Top-Commit quetschen. Sie können auch die oberste "Auswahl" in "Fixup" ändern, um die Commit-Nachricht zu ändern.
Mit Ausnahme der tatsächlichen Umbenennung können Sie Ihre Abfrage optimieren. git log --topo-order $head
listet für jede Zusammenführung den gesamten Inhalt eines zusammengeführten Zweigs unmittelbar nach dem Zusammenführungs-Commit auf. Es würde genau so aussehen, als ob du diesen Zweig neu erstellt hättest.
Tags und Links git