OK. Se eu estiver em uma ramificação (digamos working
) e desejar mesclar as alterações de outra ramificação (digamos master
), então eu executo o comando git-merge master
enquanto estiver na working
ramificação, e as alterações serão mescladas sem refazer o histórico. Se eu executar git-rebase master
, as alterações master
serão reinscritas para serem colocadas na parte superior da minha working
ramificação. Mas e se eu quiser mesclar as alterações, master
mas refazer minhas alterações working
para estar no topo? Como faço isso? Isso pode ser feito?
Eu poderia executar git-rebase working
no meu master
ramo para colocar minhas alterações no topo master
, mas gostaria de poder fazer isso no meu working
ramo, e não tenho ideia de como. O mais próximo que posso pensar em criar é criar uma nova ramificação master
e, depois disso, refazer working
as alterações, mas então eu teria uma nova ramificação em vez de alterar a working
ramificação.
fonte
git rebase working
se moveriamaster
's mudanças (após o ponto queworking
ramificou-se) para estar no topo doworking
ramo - mas isso não é uma coisa muito sensata a fazer paramaster
:)Outra maneira de ver isso é considerar
git rebase master
como:Aqui, '
master
' é o ramo upstream , e isso explica por que, durante um rebase,ours
etheirs
é revertido .fonte
git difftool
horrível esquerda / direita. Meio fora de tópico, masdifftool
eu gosto do git-meld e gosto de nomes como 'working-dir', 'stash @ {0}', etc.git checkout branch_to_update git rebase master
eu recebo no git log os commits do master no topo da ramificação local, e não o contrário?