¿Qué es exactamente lo que hace un git –rebase hace

Qué sucede exactamente cuando ejecuto el command

git pull --rebase en la twig principal

¿Esto reescribe el historial de mi twig principal?

¿Es una buena manera de hacer cambios o deberíamos

  1. Git fetch 2. Git merge 

Cuando git pull --rebase , suceden algunas cosas:

  1. git fetch origin master

    -sólo usando origen / maestro como ejemplo

  2. git rebase origin/master

    • mueve todas tus confirmaciones después de las confirmaciones de origen / maestro

En este punto, ahora puede presionar hacia el origen y sus confirmaciones se aplicarán limpiamente sobre todas las demás confirmaciones.

Sin la bandera --rebase , terminarías con un commit de fusión; uno que tiene dos padres: su twig principal y el trabajo en origen / maestro

Aquí hay algunos resources útiles:

  1. http://viget.com/extend/only-you-can-prevent-git-merge-commits
  2. http://gitready.com/advanced/2009/02/11/pull-with-rebase.html