Consegui fazer com que o git iniciasse o Beyond Compare 3 como uma ferramenta diff, no entanto, quando faço uma diff, o arquivo que estou comparando não está sendo carregado. Apenas a versão mais recente do arquivo é carregada e nada mais, portanto, não há nada no painel direito do Beyond Compare.
Estou executando o git 1.6.3.1 com Cygwin com Beyond Compare 3. Eu configurei além da comparação, como eles sugerem na parte de suporte de seu site com um script como este:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Alguém mais encontrou esse problema e conhece uma solução para isso?
Edit:
Segui as sugestões de VonC, mas ainda estou tendo exatamente o mesmo problema de antes. Eu sou meio novo no Git, então talvez eu não esteja usando o diff corretamente.
Por exemplo, estou tentando ver o diff em um arquivo com um comando como:
git diff main.css
O Beyond Compare será aberto e exibirá apenas meu main.css atual no painel esquerdo, não há nada no painel direito. Gostaria de ver meu main.css atual no painel esquerdo em comparação com o HEAD, basicamente o que cometi por último.
Meu git-diff-wrapper.sh se parece com isto:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Minha configuração git se parece com isto para Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
fonte
/c/program files
vez dec:/program files
. Também retirei o"$(cygpath -w $LOCAL)"
e apenas usei"$LOCAL"
. Isso pareceu funcionar.bcompare: command not found
- até que eu mudei o NOME da ferramentabc3
para outra coisa (comoabc3
). Eu acho que alguma configuração interna do Github interferiu. Além disso, removi a"$(cygpath -w $LOCAL)"
peça e substituí-a por"$LOCAL"
. Agora funciona muito bem. Obrigado!Agradecimentos a @dahlbyk , autor de Posh-Git , por postar sua configuração como ponto principal . Isso me ajudou a resolver meu problema de configuração.
fonte
cmd = 'C:\\Program Files\\Beyond Compare 4\\BCompare.exe' \"$LOCAL\" \"$REMOTE\"
Execute estes comandos para Beyond Compare 2:
Execute estes comandos para Beyond Compare 3:
Então use
git difftool
fonte
Note: Use bc3 on the command line for both BC version 3 and 4
A documentação oficial funcionou para mim
fonte
Aqui está meu arquivo de configuração. Demorou um pouco de luta, mas agora está funcionando. Estou usando o Windows Server, msysgit e além de comparar 3 (aparentemente uma versão x86). Você notará que não preciso especificar nenhum argumento e uso "caminho" em vez de "cmd".
fonte
A página de suporte do Beyond Compare é um pouco breve.
Verifique minha resposta externa diferente para mais (sobre a sintaxe exata)
Extrair:
Nota: você também pode usar
git difftool
.fonte
parece que o BC3 só suporta mesclagem de 3 vias para a edição PRO. http://www.scootersoftware.com/moreinfo.php?zz=kb_editions
fonte
Observe que você escolheu $ 2 no caminho errado. porque você está no Cygwin, mas não no BC3, então você deve especificar um caminho completo para ele. como "d: / cygwin $ 2"
Consulte meu git-diff-wrapper.sh aqui:
Boa sorte.
fonte
bcompare.exe $(cygpath -w $2)
. Felicidades.Se você estiver executando o Windows 7 (profissional) e Git para Windows (v 2.15 ou superior), você pode simplesmente executar o comando abaixo para descobrir quais são as diferentes ferramentas de diff suportadas pelo seu Git para Windows
Você verá uma saída semelhante a esta
isso significa que seu git não suporta (não consigo encontrar) além da comparação como difftool agora.
Para que o Git encontre o Beyond Compare como difftool válido, você deve ter o diretório de instalação Beyond Compare na variável de ambiente do caminho do sistema . Você pode verificar isso executando bcompare do shell (cmd, git bash ou powershell. Estou usando o Git Bash). Se o Beyond Compare não iniciar, adicione seu diretório de instalação (no meu caso, C: \ Arquivos de programas \ Beyond Compare 4) à variável de caminho do sistema. Depois disso, reinicie seu shell. O Git mostrará Beyond Compare como uma opção de difftool possível. Você pode usar qualquer um dos comandos abaixo para iniciar além da comparação como difftool (por exemplo, para comparar qualquer arquivo local com algum outro ramo)
Você pode configurar além da comparação como difftool padrão usando os comandos abaixo
ps tenha em mente que bc no comando acima pode ser bc3 ou bc baseado no que o Git foi capaz de encontrar em sua variável de sistema de caminho.
fonte
Atualização para BC4 de 64 bits: funciona para Git para Windows v.2.16.2 e além do Compare 4 - v.4.2.4 (edição de 64 bits)
Editei manualmente o arquivo .gitconfig localizado na raiz do meu usuário "C: \ Usuários \ MeuNome_do_Usuário" e substituí as tags diff / difftool e merge / mergetool por
fonte
http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/ tem uma solução que adotei para trabalhar para BeyondCompare: http://gist.github.com/564573
fonte
A diferença está no exe sendo chamado: configure-o para chamar bcomp.exe e funcionará bem. Configure seu ambiente para chamar bcompare.exe e você terminará com o lado da comparação tirado de seu sistema de revisão vazio.
fonte
Execute estes comandos para Beyond Compare 3 (se o caminho BCompare.exe for diferente em seu sistema, substitua-o de acordo com o seu):
Então use
git difftool
fonte
Windows 10, Git v2.13.2
Meu .gitconfig. Lembre-se de adicionar o caractere de escape para '\' e '"'.
Você pode referenciar a configuração além da comparação como difftool para usar comandos git para configurá-la.
fonte
Por alguma razão, para mim, o arquivo tmp criado por git diff estava sendo excluído antes de abrir além da comparação. Tive que copiá-lo para outro local primeiro.
fonte
Para o MAC depois de fazer muita pesquisa funcionou para mim ..! 1. Instale o além de comparação e isso será instalado no local abaixo
Siga estas etapas para tornar bc uma ferramenta diff / merge em git http://www.scootersoftware.com/support.php?zz=kb_mac
fonte
Para git versão 2.15.1.windows.2 com BC2.exe.
A configuração abaixo finalmente funciona na minha máquina.
[difftool "bc2"] cmd = \"c:/program files/beyond compare 2/bc2.exe\" ${LOCAL} ${REMOTE}
fonte