Rebase simples do mestre com o magit?

11

Acabei de atualizar para a versão mais recente do Magit, que usa a versão antiga há anos. Todas as melhorias são ótimas depois de um pouco pesquisando e descobrindo as diferenças.

Agora, estou apenas tentando fazer o rebase mais simples (não interativo) magite não consigo descobrir como fazê-lo. Este exemplo é de https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Bater r
  2. ?
  3. Meu ramo de tópico é reformulado com as alterações mais recentes do mestre.
Andrew Goodnough
fonte
3
Escolha "em outro lugar", (pressione "e") e, em seguida, escolha "mestre". Apenas para ter certeza: você estará refazendo o "tópico" do seu ramo no master (não no ). Sobre os meios, o Git procurará o ancestral comum mais jovem de "mestre" e "tópico" e, em seguida, trabalhará nos commits em "tópico" para aplicar a eles alterações em "mestre". No final, "mestre" permanecerá inalterado, mas "tópico" incorporará alterações de "mestre" (estou escrevendo isso na esperança de evitar um erro, ou seja, se você pensou que rebasear o mestre faria o oposto).
wvxvw
2
Observe que, se você definir um upstream para sua ramificação - você pode digitar be, em seguida, urepetidamente para percorrer as opções conhecidas ( origin/mastersendo típicas) - que se tornarão uma opção padrão para a qual refazer (via r u).
phils
3
Você deve ler magit.vc/manual/magit/Rebasing.html
phils
Obrigado pelos comentários. Isso esclareceu tudo para mim. Eu li a página Rebasing do Magit, mas isso não fazia sentido antes. Eu acho que a palavra 'para' foi o problema. Agora estou usando 'r', depois 'e' para mesclar as últimas do mestre, mas saber como configurar meu upstream com 'b', 'u' também foi útil.
Andrew Goodnough
@wvxvw, você poderia transformar esse comentário em uma resposta?
tarsius

Respostas:

16
  1. Pressione r (rebase) no buffer de status do Magit. Isso exibirá um buffer pop-up com mais opções.
  2. Pressione e (em outro lugar) para começar a rebasear em um ramo diferente.
  3. Selecione a ramificação para a qual refazer a resposta, respondendo ao prompt (nota: a ramificação selecionada não é modificada, a ramificação atual é) .
  4. O processo de rebase será iniciado e agora você terá mais opções no menu rebase: rcontinuar (após resolver conflitos) , aabortar (todo o processo de rebase será rebobinado de volta para antes da rebase) e spular (às vezes o Git fica confuso, por exemplo , quando seu commit parecer não introduzir nenhuma alteração, o que pode acontecer quando seu branch atual e o branch de destino adicionaram a mesma modificação) .
  5. Suas confirmações serão aplicadas às confirmações no ramo de destino. Se eles não se aplicarem sem problemas, você verá o progresso e os conflitos no buffer de status do Magit.
wvxvw
fonte