Git için diff aracı olarak karşılaştırmanın ötesine geçmeye daha spesifik olan bu konudan cevabımı tekrar ediyorum . Paylaştığım tüm ayrıntılar, genel olarak herhangi bir fark aracı için eşit derecede yararlıdır, bu yüzden burada paylaşın:
Çalıştırdığımız ilk komut aşağıdaki gibidir:
git config --global diff.tool bc3
Yukarıdaki komut dizinde .gitconfig
bulunan aşağıdaki girdiyi oluşturur %userprofile%
:
[diff]
tool = bc3
Sonra aşağıdaki komutu çalıştırın ( Bu özel durumda bu komutu çalıştırmak gereksizdir ve sadece bazı özel durumlarda gereklidir. Kısa bir süre içinde öğreneceksiniz ):
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"
Yukarıdaki komut .gitconfig
dosyaya aşağıdaki girişi oluşturur :
[difftool "bc3"]
path = c:/program files/Beyond Compare 3/bcomp.exe
Burada bilinmesi gereken şey anahtar bc3
. Bu, piyasada bulunan iyi bilinen karşılaştırma araçlarının belirli bir sürümüne karşılık gelen git için iyi bilinen bir anahtardır ( bc3
Karşılaştırma Ötesinde aracının 3. sürümüne karşılık gelir). Önceden tanımlanmış tüm tuşları görmek istiyorsanız git difftool --tool-help
git bash komutunu çalıştırın . Aşağıdaki listeyi döndürür:
vimdiff
vimdiff2
vimdiff3
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff
Yukarıdaki tuşlardan herhangi birini kullanabilir veya kendinize ait özel bir anahtar tanımlayabilirsiniz. Yukarıda listelenen tuşlardan hiçbiriyle eşleşmeyen tamamen yeni bir araç (veya iyi bilinen bir aracın yeni piyasaya sürülmüş bir sürümünü) kurmak isterseniz, yukarıda listelenen tuşlardan herhangi birine veya yeni bir kendi özel anahtar.
Bir karşılaştırma aracı ayarlamanız gerekiyorsa
VEYA
- Varolan iyi bilinen aracın yeni bir sürümü GIT'de herhangi önceden tanımlanmış tuşlara eşlenmedi hangi salıverilmiş etti ?
Benim durumumda olduğu gibi, karşılaştırma 4'ün ötesine yükledim. Karşılaştırmanın ötesinde git için iyi bilinen bir araçtır, ancak sürüm 4 sürümü varsayılan olarak mevcut anahtarların hiçbiriyle eşlenmez. Böylece aşağıdaki yaklaşımlardan herhangi birini takip edebilirsiniz:
Ben 4 karşılaştırmak ötesinde mevcut bc3
3 zaten karşılaştırmak karşılık gelen mevcut anahtar eşleyebilirsiniz . Bilgisayarımda sürüm 3 karşılaştırmak ötesinde yoktu bu yüzden umursamadı. İsteseydim, yukarıdaki listede de önceden tanımlanmış tuşlardan herhangi birine eşlemiş olabilirim examdiff
.
Araçların iyi bilinen sürümünü zaten var olan / iyi bilinen uygun anahtarla eşlerseniz, yükleme yolunun zaten gittiği bilindiğinden ikinci komutu çalıştırmanız gerekmez .
Örneğin, kutumdaki sürüm 3'ü karşılaştırmanın ötesine yüklediysem, dosyamda aşağıdaki yapılandırmaya sahip .gitconfig
olmak, devam etmek için yeterli olurdu:
[diff]
tool = bc3
Ancak, varsayılan ilişkilendirilmiş aracı değiştirmek isterseniz, path
özniteliğinden ayrı olarak bahsedersiniz, böylece git yeni aracınızın exe'sinin başlatılması gereken yolu öğrenir. Tilki karşılaştırmak ötesine başlatmak için gitmek giriş İşte 4 yerine. Exe'nin yolunu not edin:
[difftool "bc3"]
path = c:/program files/Beyond Compare 4/bcomp.exe
En temiz yaklaşım , yeni karşılaştırma aracı veya iyi bilinen bir aracın yeni bir sürümü için tamamen yeni bir anahtar tanımlamaktır. Benim durumumda bc4
olduğu gibi hatırlaması kolay yeni bir anahtar tanımladım . Böyle bir durumda, toplamda iki komut çalıştırmanız gerekir, ancak ikinci komutunuz yeni aracınızın yürütülebilir dosyasının yolunu ayarlamayacaktır. Bunun yerine cmd
, yeni aracınız için özniteliği aşağıda gösterildiği gibi ayarlamanız gerekir:
git config --global diff.tool bc4
git config --global difftool.bc4.cmd "\"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"\$LOCAL\" -d \"\$REMOTE\""
Yukarıdaki komutların çalıştırılması .gitconfig
dosyanızda aşağıdaki girişleri oluşturur :
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"
Gelecekte kendinizle ilgili herhangi bir karışıklığı önlemek için # 2 yaklaşımını izlemenizi şiddetle tavsiye ederim.