GÖRSEL FARKLI ARAÇ KULLANMA
Varsayılan Yanıt (komut satırında)
Buradaki en iyi yanıtlar, aşağıdakilerdeki önbelleğe alınmış / aşamalı değişikliklerin nasıl görüntüleneceğini doğru bir şekilde gösterir Index:
$ git diff --cached
veya $ git diff --stagedbir takma addır.
Bunun yerine Visual Diff Aracını Başlatma
Varsayılan yanıt git bash'taki (yani komut satırında veya konsolda) fark değişikliklerini verir. Aşamalı dosya farklılıklarının görsel temsilini tercih edenler için git içinde, komut satırında görüntülenen her dosya için görsel bir fark aracı başlatan bir komut dosyası bulunur.difftool :
$ git difftool --staged
Bu, aynı şeyi yapacaktır. git diff --staged , diff aracının çalıştırıldığı her zaman dışında (yani bir dosya diff tarafından her işlendiğinde), varsayılan görsel fark aracını ( ortamımda bu kdiff3'tür ) başlatır .
Araç başlatıldıktan sonra, görsel diff aracınız kapanana kadar git diff komut dosyası duraklatılır. Bu nedenle, bir sonrakini görmek için her dosyayı kapatmanız gerekir.
Her Zaman Kullanabilirsiniz difftooldiffİn git komutlarının yerine
Tüm görsel fark ihtiyaçlarınız için, git difftoolgit diff tüm seçenekler de dahil olmak üzere herhangi bir komutun yerine çalışacaktır .
Örneğin, görsel fark aracının her dosya için yapılıp yapılmayacağını sormadan başlatılmasını sağlamak için -y seçeneği (genellikle bunu isteyeceğinizi düşünüyorum !!):
$ git difftool -y --staged
Bu durumda görsel fark aracındaki her bir dosyayı birer birer çeker ve araç kapatıldıktan sonra bir sonraki dosyayı getirir.
Veya şu aşamada hazırlanmış olan belirli bir dosyanın farkına bakmak için Index:
$ git difftool -y --staged <<relative path/filename>>
Tüm seçenekler için kılavuz sayfasına bakın:
$ git difftool --help
Visual Git Aracını Ayarlama
Varsayılandan farklı bir görsel git aracı kullanmak için şu -t <tool>seçeneği kullanın:
$ git difftool -t <tool> <<other args>>
Veya git'i farklı bir varsayılan görsel fark aracını kullanacak şekilde nasıl yapılandıracağınız için difftool man sayfasına bakın.
.gitconfigFark / birleştirme aracı olarak vscode için örnek girişler
Bir difftool kurmanın bir parçası, .gitconfigdosyayı sahne arkasında değiştiren git komutlarıyla değiştirmeyi veya doğrudan düzenlemeyi içerir.
Kendi .gitconfiggiriş dizininizde bulabilirsiniz , örneğin ~Unix veya normalde c:\users\<username>Windows).
Veya kullanıcıyı .gitconfigvarsayılan Git düzenleyicinizdegit config -e --global .
.gitconfigHem diff aracı hem de birleştirme aracı olarak VS Code için global kullanıcımdaki örnek girişler şunlardır :
[diff]
tool = vscode
guitool = vscode
[merge]
tool = vscode
guitool = vscode
[mergetool]
prompt = true
[difftool "vscode"]
cmd = code --wait --diff \"$LOCAL\" \"$REMOTE\"
path = c:/apps/vscode/code.exe
[mergetool "vscode"]
cmd = code --wait \"$MERGED\"
path = c:/apps/vscode/code.exe
git status -vçalışır. Aşağıdaki cevabımı