2016-01-26 27 views
5

Wenn ich Git innerhalb von Intellij verwende, wie zerquetsche ich alle meine Commits für einen lokalen Zweig? Welche Einstellungen verwende ich im Rebase-Zweigfenster?Intellij - Wie man nur lokalen Zweig quetscht

Ich habe versucht, den Onto auf local/master und From zu meinem Zweig zu setzen, aber dann geht es und versucht, Master-Änderungen in meinem Zweig für jeden Commit zu verschmelzen, auch wenn ich typischerweise meinen Zweig auf Master alle neu Morgen ... also sollte es keine Konflikte geben. Dennoch findet es fast immer Konflikte und verursacht Zusammenführungsprobleme. Ich möchte nur die Filial-Commits und Nachrichten quetschen, wenn ich nach Github drücke, sieht es nur einen.

enter image description here

+1

@NikZ ich diese Antwort gefunden sehr hilfreich lokal vor Push-to squash [Kombinieren verpflichtet zu Single-Push] (http://stackoverflow.com/questions/26898511/how-to-combine-group-of -local-commits-zu-single-push-in-idee) –

Antwort

8

Es könnte ein wenig unangenehm sein, aber Sie die git Notation von HEAD verwenden können ~ so in die „Auf“ Feld würde man die Menge schreiben von verpflichtet Sie wie einschließen möchten:

In diesem Beispiel habe ich 4 (die letzten 4) verpflichtet ich in 1.

rebase interactive dialogue

In der Eröffnung werden die Einträge Dialog verbinden wollen ar e in der Reihenfolge aufgelistet, so müssen Sie Squash alle nach dem ersten mit der Drop-Box. (Ich habe die erste eine reword aber das ist nicht erforderlich, da es wird eine Meldung Wechsel ohnehin für das Quetschen Dialog sein, so kann es auf ‚Pick‘ gelassen werden)

squashing

dann nur eine neue Nachricht für die kombinierten Commits und du bist fertig.

commit message