Como corrigir um conflito de mesclagem devido à exclusão de um arquivo em uma ramificação?

Eu criei um ramo de dialog , e quando eu tentar fundi-lo com o ramo master . Existem dois conflitos. Eu não sei como permitir CONFLICT (delete/modify) . Você poderia me dizer o que fazer?

 $ git checkout master $ git merge dialog CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD. Version HEAD of res/layout/dialog_item.xml left in tree. Auto-merging src/com/DialogAdapter.java CONFLICT (content): Merge conflict in src/DialogAdapter.java Automatic merge failed; fix conflicts and then commit the result. 

Eu abri o src/DialogAdapter.java , src/DialogAdapter.java o conflito e fiz git add src/DialogAdapter.java . O que mais eu preciso fazer?

95
04 сент. definir n179911 04 sept. 2009-09-04 20:34 '09 às 20:34 2009-09-04 20:34
@ 3 respostas

Relatório de conflito:

 CONFLITO (excluir / modificar): res / layout / dialog_item.xml HEAD

significa que res/layout/dialog_item.xml foi excluído nas ramificações da caixa de diálogo que você mescla, mas foi alterado para HEAD (nas ramificações nas quais você está mesclando).

Então você tem que decidir

  • exclua o arquivo usando " git rm res/layout/dialog_item.xml "

ou

  • aceite a versão do HEAD (possivelmente depois de editá-la) com git add res/layout/dialog_item.xml "

Então você completa a mesclagem com " git commit ".

Observe que o git avisa que você está criando um comando de mesclagem em um caso (raro) em que isso é algo que você não deseja. Provavelmente permanece desde os dias em que o caso especificado era menos raro.

150
04 сент. Resposta dada por Jakub Narębski 04 Set 2009-09-04 21:23 '09 at 9:23 PM 2009-09-04 21:23

Eu normalmente executo o git mergetool , e ele me diz se eu quero salvar o arquivo modificado ou deletá-lo. Este é o caminho mais rápido IMHO, porque é um comando em vez de vários arquivos.

border=0
16
28 дек. a resposta é dada void.pointer 28 dez. 2016-12-28 18:11 '17 às 18:11 2016-12-28 18:11

Se você usa git gui para windows,

  • Abortar mesclar
  • Certifique-se de estar no seu ramo alvo.
  • Excluir arquivo conflitante do explorador
  • Repita a pesquisa por alterações em Git Gui (F5)
  • Por favor, note que o arquivo conflitante foi excluído.
  • Selecione um turno com arquivos modificados para confirmar (Ctrl-I) no menu Confirmar
  • Digite um comentário de confirmação como "arquivo de conflito excluído"
  • Commit (ctrl-enter)
  • Agora, se você reiniciar a mesclagem, isso (esperançosamente) funcionará.
2
06 авг. a resposta é dada em salihcenap 06 ago. 2015-08-06 08:28 '15 às 8:28 2015-08-06 08:28

Outras questões sobre tags ou Ask a Question