Wie kann ich Zusammenführungen zu einer linearen Historie reduzieren?

8

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?

    
Chris 06.02.2012, 18:22
quelle

3 Antworten

3

Git-Rebase ist, was Sie suchen.

    
tpg2114 06.02.2012, 18:27
quelle
5

Was Sie suchen, ist interactive rebase .

Sie können gegen den Master über git rebase -i master rebasen. Du solltest etwas wie

sehen %Vor%

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.

    
Jim Mitchener 06.02.2012 20:19
quelle
0

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.

    
max630 18.01.2016 06:57
quelle

Tags und Links