Combine a resolução de conflitos

Quando um conflito de mesclagem no Git é inserido em arquivos conflitantes como desnecessário, como o seguinte. Três perguntas:

  • Como você lê essas anotações?
  • Quais estratégias devem ser usadas para resolver esses conflitos de mesclagem?
  • O usuário possui uma ferramenta Mac GUI que sabe ler esses arquivos e exibir duas versões lado a lado para facilitar a correção do problema?

2019

53
09 февр. criado por Chris Calo em fev 09 2012-02-09 11:02 '12 às 11:02 2012-02-09 11:02
@ 4 respostas

Agora uma solução melhor do que tentar ler os marcadores das pílulas que o Git insere em seus arquivos. O caleidoscópio 2 , o segundo pixel do segundo pixel de sua ferramenta diff, agora também é uma ferramenta de mesclagem. Não é grátis, mas funciona muito bem.

Depois de instalar o Kaleidoscope 2, é muito fácil integrá-lo ao Git. Abra o caleidoscópio e na barra de menu selecione Caleidoscópio > Integração ...

2019

20
26 дек. Resposta dada por Chris Calo Dez 26 2012-12-26 22:19 '12 às 22:19 2012-12-26 22:19

Tudo entre <<<<<< e ====== vem da versão HEAD , que é um estado fixo antes de iniciar a operação de mesclagem (o git merge irá reclamar se a árvore estiver suja, então deve ser equivalente ao seu diretório de trabalho).

As partes entre ====== e >>>>>> vêm da versão combinada. O texto depois de >>>>>> é um comentário de commit, >>>>>> mudanças contraditórias.

O fato de existir um marcador de conflito significa que a versão básica dessa parte do arquivo é diferente das versões "novas". A versão básica (o último ancestral comum) não é exibida.

Se você quiser uma integração mais conveniente e ter uma interface gráfica, sugiro que dê uma olhada no kdiff3.

34
09 февр. Resposta dada por Simon Richter 09 de fevereiro 2012-02-09 11:10 '12 às 11:10 AM 2012-02-09 11:10
 <<<< HEAD #Where the conflict starts #Previous Revision ========== # The point where things look iffy #Things that changed >>>>> New Commit # Point where the conflict ends 

O Mac Xcode vem com o FileMerge, que você pode acessar na linha de comando usando o opendiff .

git mergetool -t opendiff

16
09 февр. a resposta é dada pardal 09 de fevereiro 2012-02-09 11:19 '12 às 11:19 2012-02-09 11:19

Você pode personalizar a ferramenta de mesclagem (gráfica) e usar essa ferramenta para resolver conflitos.

Veja também o comando git mergetool - se você tiver uma das ferramentas pré-instaladas instaladas ou alguma outra ferramenta configurada, ela abrirá a ferramenta para permissão http://schacon.github.com/git/git-mergetool.html

Se você estiver interessado em ferramentas de GUI, não precisa se preocupar com o significado desses símbolos, pois as ferramentas da GUI ajudam você a obter permissões facilmente. Apenas entenda que as partes marcadas ===== e >>>>> são seções de conflito.

4
09 февр. a resposta é dada 09 de fevereiro manojlds 2012-02-09 11:19 '12 às 11:19 2012-02-09 11:19