Nasıl görünüm 'görsel diff programı ile git diff' çıktı mı?
Yazarken 'diff', seçim görsel diff benim aracı (Windows SourceGear diffmerge) ile çıktı görüntülemek istiyorum. gıt Nasıl bunu yapmak için git yapılandırabilirim?
CEVAP
Git1 Beri.6.3, kullanabilirsinizgit difftool script: my answer below bkz.
article Bu olabilir size yardımcı olacaktır. İşte en iyi parçaları:
Harici diff aracı belirlemek için iki farklı yolu vardır.
İlk, GİT_EXTERNAL_DİFF değişken ayarlayarak kullanılan yöntemdir. Ancak, değişken bir çalıştırılabilir dosyanın tam yolunu göstermesi gerekiyor. Ayrıca, çalıştırılabilir GİT_EXTERNAL_DİFF tarafından belirtilen 7 bağımsız değişkenler: sabit bir dizi ile birlikte verilir
path old-file old-hex old-mode new-file new-hex new-mode
En diff araçları farklı bir sipariş (sadece bazı) bağımsız değişken gerektirir, büyük olasılıkla sırayla gerçek diff aracı çağıran sarıcı betik yerine, belirtmeniz gerekir.
Tercih İkinci yöntemyapılandırmak "gıt üzerinden harici diff aracı ". config . Yaptığım şey burada:
1) sarıcı betik "git-diff-wrapper.sh" gibi bir şey içerir . Oluşturun
-->8-(snip)--
#!/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_diff_executable>" "$2" "$5" | cat
--8<-(snap)--
Gördüğünüz gibi, sadece ikinci ("eski-dosya") ve beşinci ("yeni dosya") bağımsız olacak diff aracı geçti.
2) Yazın
$ git config --global diff.external <path_to_wrapper_script>
komut isteminde,""/~., git-diff-wrapper.sh yolu ile değiştirilmesi gitconfig içerir
-->8-(snip)--
[diff]
external = <path_to_wrapper_script>
--8<-(snap)--
Doğru sözdizimi sarıcı betik yolları belirtmek için kullandığınızdan emin olun ve diff aracı, yani ileri kullanmak kesmiş yerine ters eğik çizgi. Benim durumumda, ben
[diff]
external = c:/Documents and Settings/sschuber/git-diff-wrapper.sh
.gitconfig
"d:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
sarıcı betik. Sondaki zihin""! kedi
('| cat
' sadece bazı gerekli ya da tutarlı bir geri dönüş olmayabilir programlar durum. sanırım Eğer diff aracı açık iade durumu varsa sondaki kedi olmadan) denemek isteyebilirsiniz
(Makale yukarıda alıntı) harici araç için teoridirconfig dosyası ile tanımlanır(ortam değişkeni ile değil).
(Uygulamada hala dış aracı yapılandırma dosyası tanımı için), başvurabilirsiniz:
- MsysGit ve gitk için DiffMerge ve WinMerge somut ayarlarını gösteren How do I setup DiffMerge with msysgit / gitk?
- Harici bir editör olarak Not Defteri tanımı How can I set up an editor to work with Git on Windows?.
Aynı dalda iki farklı işliyor arasında...
Nasıl genişletmek için bir diff çöküşü...
Nasıl bir çağrı cihazı kullanarak git ...
Nasıl uygulanır `Gıt olmadan git diff`...
Nasıl 'git diff sonuçları çıkış&#...