Charles Bailey'nin cevabını takip etmek için, p4merge (ücretsiz çapraz platform 3 yollu birleştirme aracı) kullanan git kurulumum ; msys Git (Windows) yüklemesinde test edildi:
git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd 'p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"'
veya bir windows cmd.exe kabuğundan, ikinci satır şöyle olur:
git config --global mergetool.p4merge.cmd "p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""
Değişiklikler (Charles Bailey'e göre):
- global git config'e eklendi, yani sadece geçerli olanı değil tüm git projeleri için geçerlidir
- özel araç yapılandırma değeri "birleştirme. [araç] .cmd" değil, "birleştirme aracı. [araç] .cmd" 'de bulunur (aptalca, git var olmayan araç hakkında şikayet etmeye neden bir saat sorun giderme yaptı)
- boşlukları olan dosyaların birleştirme aracı tarafından hala bulunabilmesi için tüm dosya adları için çift tırnak ekledi (Bunu Powershell'den msys Git'te test ettim)
- Perforce'ın kuruluş dizinini varsayılan olarak PATH'a ekleyeceğini unutmayın, bu nedenle komutta p4merge için tam yol belirtmeye gerek yoktur
İndir: http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools
EDIT (Şub 2014)
Tarafından sivri dışarı olarak @Gregory Pakosz , son msys git'e "doğal" destekler artık p4merge (üzerinde test 1.8.5.2.msysgit.0 ).
Aşağıdaki araçları çalıştırarak desteklenen araçların listesini görüntüleyebilirsiniz:
git mergetool --tool-help
Görmeliydin p4merge birinde mevcut veya geçerli listeye. Değilse, lütfen git'inizi güncelleyin.
Eğer p4merge olarak yer aldı kullanılabilir , bu ise PATH ve sadece set zorunda merge.tool :
git config --global merge.tool p4merge
Geçerli olarak listelenmişse , merge.tool'a ek olarak mergetool.p4merge.path tanımlamanız gerekir :
git config --global mergetool.p4merge.path c:/Users/my-login/AppData/Local/Perforce/p4merge.exe
- Yukarıdaki, sistem genelinde değil, geçerli kullanıcı için p4merge yüklendiğinde örnek bir yoldur (yönetici haklarına veya UAC yükseltmesine gerek yoktur)
- Her ne
~
kadar mevcut kullanıcının ana dizinine genişlemesine rağmen (teoride yol olmalı ~/AppData/Local/Perforce/p4merge.exe
), bu benim için işe yaramadı
- Daha da iyisi bir ortam değişkeninden yararlanmak (örneğin
$LOCALAPPDATA/Perforce/p4merge.exe
), git yollar için ortam değişkenlerini genişletiyor gibi görünmüyor (eğer bunu nasıl çalıştıracağınızı biliyorsanız, lütfen bana bu cevabı bildirin veya güncelleyin)