Pergunta

Eu li sobre um bilhão de perguntas e respostas sobre esse mesmo assunto e segui todas as instruções ao pé da letra.Mas ainda estou tendo dores de cabeça ao tentar configurar o Git para diferenciar e mesclar usando o WinMerge.

Eu executei as seguintes etapas usando o terminal Git:

git config --global diff.tool winmerge
git config --global difftool.winmerge.cmd "winmerge.sh \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false

Também configurei um script em um diretório incluído no meu PATH variável que diz:

#!/bin/sh
echo Launching WinMergeU.exe: $1 $2
"C:/Program Files/WinMerge/WinMergeU.exe" git /e /u /dl "Base" /dr "Mine" "$1" "$2""

Quando eu executo

git mergetool

No terminal Git, vejo:

Merging:
first.txt

Normal merge conflict for 'first.txt':
  {local}: modified
  {remote}: modified
Launching WinMergeU.exe:

Então me parece que o $LOCAL e $REMOTE variáveis ​​não estão passando nada para o winmerge.sh roteiro.O que estou fazendo de errado aqui?Eu tenho que assumir que está na parte de configuração.

Foi útil?

Solução

Comparado com o meu resposta anterior (ou Este, ou Aquele), suas etapas incluem aspas duplas extras no final de winmerge.sh roteiro

    #!/bin/sh
    echo Launching WinMergeU.exe: $1 $2
    "C:/Program Files/WinMerge/WinMergeU.exe" 
      git /e /u /dl "Base" /dr "Mine" "$1" "$2""
                                               ^
                                               |
                                    (this shouldn't be here)

Dito isto, essas respostas foram sobre o uso do difftool winmerge, que não suporta Mesclagem de 3 vias (existe apenas local e remoto, sem base).

Para uma verdadeira ferramenta de mesclagem, eu recomendaria kdiff3 (como em "É possível que o git-merge ignore as diferenças de final de linha?") ou araxis (conforme descrito em "Como definir Araxis como ferramenta de comparação/mesclagem para MSYS git?"), onde você pode ver o três variáveis ​​(locais, remotas e base) usado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top