2016-06-09 12 views
1

Erzeugt git pull immer ein Merge-Commit?Erstellt Git-Pull immer ein Merge-Commit?

Wenn ich einen Funktionszweig, die ich mit git pull -r . master dem neuesten Stand bringen, und dann schalte ich zu beherrschen und zu tun git pull . feature-branch ich nicht denke ich eine Zusammenführung verpflichten bekommen.

+1

'git pull' kann schnell vorspulen. – MicroVirus

+0

Okay, wenn es schnell vorwärts geht, führt es zu keinem Merge Commit? Also muss ich das Flag --no-ff verwenden, um ein Merge-Commit zu erzwingen, wenn ich eins möchte? – Ben

+3

Ja, die Beschreibung des Flags '-ff' (Schnellvorlauf) lautet: * "Wenn die Zusammenführung als Schnellvorlauf aufgelöst wird, aktualisieren Sie den Verzweigungszeiger nur, ohne ein Zusammenführungs-Commit zu erstellen. Dies ist das Standardverhalten." * – MicroVirus

Antwort

2

Sie haben eine good example about git merge and fast-forward auf der verknüpften Website.

@MicroVirus gab eine nette Erklärung. Unten ist der graue Punkt der KOPF Ihres lokalen KOPFES vor dem Ziehen (Holen + Mischen). Sie können den Unterschied zwischen den beiden Arten der Zusammenführung sehen.

git fast forward http://ariya.ofilabs.com/wp-content/uploads/2013/09/merging.png

Eine weitere Möglichkeit, Ihre Repo mit git pull zu aktualisieren ist --rebase Option zu verwenden. Mit dieser Option werden Ihre Commits oben auf dem gezogenen Zweig angewendet, um den Verlauf neu zu schreiben. Sie können details there lesen. Personen werden zwischen git pull oder git pull --rebase aufgeteilt. Meiner Meinung nach sollte die Rebase für die Fehlerbehebung verwendet werden, stattdessen sollte der klassische Pull verwendet werden, wenn eine neue Funktion zusammengeführt wird.

Git Rebase Beispiel git rebase example

den Link Lesen Sie unten eine Idee auf differents Sicht haben:

Verwandte Themen