Veja como rebase
funciona:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Suponha que você tenha
---o----o----o----o master
\---A----B <my branch>
Os dois primeiros comandos ... confirmar git checkout git rebase master
... confira o ramo de alterações que você deseja aplicar ao master
ramo. O rebase
comando pega os commits de <my branch>
(que não são encontrados em master
) e os aplica novamente à cabeça de master
. Em outras palavras, o pai do primeiro commit in <my branch>
não é mais um commit anterior no master
histórico, mas o chefe atual do master
. Os dois comandos são os mesmos que:
git rebase master <my branch>
Pode ser mais fácil lembrar deste comando, pois os ramos "base" e "modificar" são explícitos.
. O resultado final da história é:
---o----o----o----o master
\----A'----B' <my branch>
Os dois comandos finais ...
git checkout master
git merge <my branch>
... faça uma mesclagem de avanço rápido para aplicar todas as <my branch>
alterações master
. Sem essa etapa, o commit da rebase não é adicionado master
. O resultado final é:
---o----o----o----o----A'----B' master, <my branch>
master
e <my branch>
ambas as referências B'
. Além disso, a partir deste ponto, é seguro excluir a <my branch>
referência.
git branch -d <my branch>
--cached
verificargit diff
. link