Há certas ocasiões em que o Git Rebase irá gerar dezenas ou centenas de conflitos com a Upstream branch , tornando muito difícil gerir manualmente cada um desses conflitos. Se você souber já de antemão que sua branch local contém código mais atualizado que a branch remota, é possível subsituir automaticamente todos esses conflitos mantendo o código da Branch atual sempre como preferível em caso de conflito. O contrário também é possível caso você deseje usar o código da Upstream Branch como sempre o preferível em caso de conflito. Este artigo visa ensinar como sobrescrever todos estes conflitos automaticamente.
Exemplos de Git Rebase -Xtheirs e Git Rebase -Xours
No nosso exemplo, vamos assumir que estamos utilizando a branch “feature-A” e queremos fazer um Rebase com a branch “feature-B”.
Quando você preferir sempre manter as alterações da branch atual contra a Upstream Branch em caso de conflito, você usará o Git Rebase com o parâmetro -Xtheirs:
git rebase -Xtheirs feature-B
# O comando acima irá preferir as alterações da "feature-A" durante qualquer conflito com "feature-B".
O inverso também é possível. Quando você quiser dar preferência as alterações da Upstream Branch contra a Branch local em caso de conflito, utilize:
git rebase -Xours feature-B
# O comando acima irá preferir as alterações da "feature-B" durante qualquer conflito com "feature-A".