2016-10-08 3 views
-2

wenn ich 4 commits in eine vereinigte Commit quetschen will.quetschen 4 commits - `Rebase Master -i` oder` Rebase -i`

Welchen Befehl soll ich verwenden?

Ich habe versucht, den Unterschied zwischen ihnen zu verstehen, bitte korrigieren Sie mich, wenn ich mich irre.

git rebase -i HEAD~4 

Dies öffnet nur einen Editor mit den letzten lokalen Commits, die nicht gedrückt wurden?

So kann ich sie quetschen, bevor Sie drücken?

vs

git rebase master -i 

, die vom Master nicht rebase tatsächlich in die lokale Niederlassung,

hier werde ich Master Commits sehen, die bereits gedrückt wurden und es ist keine gute Idee, sie zu zerquetschen. Dies sollte vermieden werden, oder? da es eine schlechte Übung ist, gedrückte Commits zu ändern

+2

Nach 900 Fragen würde ich erwarten, dass Sie verstehen, wie diese Seite funktioniert und wie Sie eine bestimmte Frage stellen können. – PeeHaa

+0

Entschuldigung zu früh aufgegeben Ich habe meine Frage bearbeitet –

+0

Ich zähle vier Fragezeichen in Ihrem Beitrag. Haben Sie versucht, einige davon selbst zu lösen? Was war die Ausgabe? Warum hat es deine Frage nicht beantwortet? – PeeHaa

Antwort

0

Beim Rebasieren von Master (oder einem anderen Zweig) importieren Sie die Commits der angegebenen Zweigstelle in Ihre aktuelle Zweigstelle. Wenn Sie nur rebase -i bearbeiten, bearbeiten Sie nur Ihre aktuelle Filialhistorie. Der Editor fragt Sie dann, was Sie mit dem Verlauf Ihrer Filiale machen möchten, da Sie dort Commits löschen, Commits quittieren oder sogar neu anordnen können. In Ihrem speziellen Fall, müssen Sie:

$ git rebase -i HEAD~5 

Sie wollen von HEAD~5 rebase weil git eine Basis verpflichten muss von Squash und da Sie 4 quetschen wollen, dann 5 ist Ihre Nummer.

In der Editor-Ansicht suchen Sie nur nach den Commits zu Squash und ändern ihren Zustand von zu squash. Das ist es.

Verwandte Themen