2016-06-24 22 views
7

Ich verstehe nicht den Unterschied zwischen git pull --rebase und git rebase, ohne weitere Optionen.git pull --rebase vs. git rebase: was ist die gefahr?

Ich verstehe nicht, ob sie sicher, eine gute Praxis oder sehr gefährlich sind.

Kann ich das historische Commit durch eine git pull --rebase in lokalen brechen?

+0

http://stackoverflow.com/questions/18930527/difference-between-git-pull-and-git-pull-rebase – ashishmohite

+0

'git rebase' läuft nicht' fetch' zuerst. – choroba

Antwort

7

Ich empfehle die Umbasierung überhaupt nicht, sondern nur für private Filialen. Durch private Ich meine Zweige, die Sie ziemlich sicher sind nur Sie gezogen haben.

Eine Rebase ändert den Startpunkt der Verzweigung zu einem neueren Commit, wodurch alle Commits zu diesem Punkt zusammengeführt werden. Dies könnte zu Konflikten mit Personen führen, die in ihrem Repository die alte Zweigstelle hatten. Ich würde empfehlen, immer nur Merge zu machen und Rebasing nur für bestimmte Situationen (Feature-Zweige, zum Beispiel) zu verlassen.

Zu Ihrer Frage:

  • git rebase Rebasing den Zweig Sie wollen.
  • git pull --rebase führt einen Fetch + Rebase in den Zweigen durch, die Sie ziehen. Normalerweise würde ein Pull + merge holen.
+0

Also, machen Sie einen git pull --rebase ist sicher? – sab

+0

Sicher in welchem ​​Sinne? Eine Rebase ändert den Startpunkt, der Unterschied zwischen dem einen oder dem anderen ist, dass Git Pull - Rebase eine massive Rebase macht. Ich würde nicht empfehlen, in geteilten Filialen umzuset- zen, daher würde ich git pull --rebase nicht empfehlen. Mach stattdessen einen einfachen Git-Pull. – Luis

7

git pull --rebase ist eine Abkürzung für git fetch und dann eine einfache git rebase, so dass der einzige Unterschied der Anwendung besteht darin, dass nur letztere keine neuen Commits nicht holen würde von der Fernbedienung, bevor Sie Code auf der Oberseite Rebasing, als wäre es nur Berücksichtigen Sie, was Ihrem Repository bereits bekannt ist.