Vamos supor que eu merge
git e haja um conflito de mesclagem.
Minha pergunta é: como posso forçar o git a sempre escolher a versão mais recente do código em conflito para que não precise resolver o conflito manualmente?
Vamos supor que eu merge
git e haja um conflito de mesclagem.
Minha pergunta é: como posso forçar o git a sempre escolher a versão mais recente do código em conflito para que não precise resolver o conflito manualmente?
Respostas:
Não é exatamente a versão "mais nova", mas você pode dizer ao git para sempre preferir a versão no branch atual usando git merge branch -X ours
, ou preferir a versão do branch sendo mesclado, usando git merge branch -X theirs
.
De man git-merge
:
nosso:
Esta opção força os pedaços conflitantes a serem resolvidos automaticamente de forma limpa, favorecendo nossa versão. As alterações da outra árvore que não conflitam com o nosso lado são refletidas no resultado da mesclagem. Para um arquivo binário, todo o conteúdo é obtido do nosso lado.
deles:
Isso é o oposto de "nosso".
ours
- theirs
!! Basta dizer e você entenderá o que o comando faz! Eu amo o Git! : D
git merge branch
, você precisará git merge --abort
antes de fazer isso.
error: The following untracked working tree files would be overwritten by merge:
Eu nem sei porque esses arquivos estão neste branch em primeiro lugar, mas eles deveriam ser sobrescritos, e git se recusa.
git add
los (ou ) primeiro. Leia um pouco sobre git clean
, pode ajudá-lo com isso.
git merge ours
, se houver algum arquivo de conflito, haverá algum log? e eu poderia rastrear o de git merge ours
?
Eu uso isso,
git fetch --prune
git reset --hard origin/master