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 --staged
bir 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 difftool
diff
İn git komutlarının yerine
Tüm görsel fark ihtiyaçlarınız için, git difftool
git 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.
.gitconfig
Fark / birleştirme aracı olarak vscode için örnek girişler
Bir difftool kurmanın bir parçası, .gitconfig
dosyayı sahne arkasında değiştiren git komutlarıyla değiştirmeyi veya doğrudan düzenlemeyi içerir.
Kendi .gitconfig
giriş dizininizde bulabilirsiniz , örneğin ~
Unix veya normalde c:\users\<username>
Windows).
Veya kullanıcıyı .gitconfig
varsayılan Git düzenleyicinizdegit config -e --global
.
.gitconfig
Hem 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ı