situación de arranque (no hay cambios unpushed, >
indica la rama actual):git pull --rebase
o C [> master][origin/master]
|
o B
|
o A
|
...
Después de un git fetch
la estructura de registro a menudo se ve como
o E [origin/master]
|
o C'
|
o B'
|
o D
|
| o C [>master]
| |
| o B
|/
o A
|
...
Ahora git rebase origin/master master
menudo produce conflictos . ¿Es git pull --rebase
más inteligente y solo usa git reset
para hacer que master
también apunte a E
si master
== origin/master
inicialmente?
Parece que hemos mezclado 'B' con 'B'' y 'C' con' C' '. Desafortunadamente, en la práctica esto no funciona bien si 'B' y' C' ya son parte de 'origin/master' (como resultado de un cherry-pick o rebase anterior). – Mot
'git pull --rebase' es * no * lo mismo que' git fetch; git rebase' - ver [mi respuesta a continuación que da la diferencia] (http://stackoverflow.com/a/11531552/179332). –