Así es como rebase
funciona:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Asume que tienes
---o----o----o----o master
\---A----B <my branch>
Los primeros dos comandos ... commit git checkout git rebase master
... verifique la rama de cambios que desea aplicar a la master
rama. El rebase
comando toma los commits de <my branch>
(que no se encuentran en master
) y los vuelve a aplicar al encabezado de master
. En otras palabras, el padre de la primera confirmación <my branch>
ya no es una confirmación previa en la master
historia, sino el jefe actual de master
. Los dos comandos son los mismos que:
git rebase master <my branch>
Puede ser más fácil recordar este comando ya que tanto las ramas "base" como "modificar" son explícitas.
. El resultado final de la historia es:
---o----o----o----o master
\----A'----B' <my branch>
Los dos últimos comandos ...
git checkout master
git merge <my branch>
... haga una combinación de avance rápido para aplicar todos los <my branch>
cambios master
. Sin este paso, no se agrega la confirmación de rebase master
. El resultado final es:
---o----o----o----o----A'----B' master, <my branch>
master
y <my branch>
ambos de referencia B'
. Además, desde este punto es seguro eliminar la <my branch>
referencia.
git branch -d <my branch>
--cached
al verificargit diff
. enlace