Vamos supor que os últimos commits no meu servidor sejam assim:
A1 -> A2 -> A3
Meu repositório local está sincronizado com o servidor e agora ramifico do A3:
A3
|
B1 -> B2 -> B3
Finalmente terminei minha tarefa no commit B3 e quero enviar para o servidor e mesclar (PR). Mas no servidor alguém adicionou novos commits:
A1 -> A2 -> A3 -> A4 -> A5
Revendo A4 e A5, vejo que não há conflito com meu trabalho no B3, então quero mesclar meu trabalho como se tivesse ramificado diretamente do A5. Parece uma tarefa muito comum, qual a maneira correta de fazer isso?
Responder1
Não tenho ideia de como você faz suas solicitações pull. Se A1-A5 e B1-B3 forem enviados para o controle remoto em cada filial, tudo o que você precisa fazer é pular para a filial A ou B e então git pull remote origin BRANCH A/B
nomear. Como você estava trabalhando em B, faça isso git pull remote origin BRANCH A
no ramo B. Isso fornecerá A1-A5 e B1-B3 no mesmo ramo. Em seguida, use o branch B para criar um PR para dominar.
Alternativamente (o caminho certo na minha opinião) é fazer um PR para A dominar e um PR para B dominar. A sobreposição de A que já está em B não deve causar problemas.
Se A e B não estivessem relacionados, você deveria ter ramificado B do seu desenvolvimento ou ramificação equivalente.
Aqui está um exemplo deestratégia de ramificação não linearpara fluxos de trabalho mais complexos.
Vendo issofluxo de trabalho linear versus não linearpode ajudar a visualizar melhor a bagunça que está acontecendo.
Se minha explicação e compreensão do seu cenário estiverem incorretas, avise-me para que eu possa alterar ou remover completamente a resposta.