⊗gtPmBrMC 39 of 66 menu

Conflito ao mesclar branches no Git

No processo de fusão de duas branches, podem ocorrer conflitos se em cada branch tivermos alterado o mesmo arquivo. Vamos considerar a situação em que em ambas as branches master e test da lição anterior nós alteramos e fizemos um commit no mesmo arquivo file.txt. E então aplicamos o comando de merge:

git merge test

Como resultado, veremos um erro:

Auto-merging file.txt CONFLICT (content): Merge conflict in file.txt Automatic merge failed; fix conflicts and then commit the result.

Além disso, no arquivo modificado veremos os marcadores de conflito:

<<<<<<< HEAD aqui estarão as alterações da branch master ======= aqui estarão as alterações da branch test >>>>>>> test

Na parte superior da mensagem estão indicadas as alterações feitas na branch principal atualmente, na parte inferior - na segunda branch, que queremos mesclar com a primeira. Para resolver o conflito, precisamos levar o conteúdo do arquivo a um estado comum, previamente removendo (manualmente no editor!) todas as marcações de conflito que o Git deixou nele.

Depois de resolvermos o conflito (ou seja, deixarmos o código correto no arquivo), vamos indexar nosso arquivo e fazer um commit na branch master, na qual nós estamos no momento:

git add file.txt git commit -m "fusão"

Só depois disso podemos alternar para a segunda branch test e fazer todas as mesmas operações que na branch master, inclusive substituir o conteúdo do arquivo file.txt pelo mesmo que está na primeira branch:

git add file.txt git commit -m "fusão"

Agora podemos alternar novamente para a branch principal e mergir nela a segunda:

git switch master git merge test

Crie intencionalmente um conflito ao mesclar branches. Em seguida, resolva-o.

Português
БеларускаяDeutschEnglishEspañolFrançaisРусский
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar