2011-02-10 14 views
33

GIT'i kullanmayı denedim, ancak benim için en büyük sorun, birleştirme için bir araç olmaması. En azından msysgit bana bir şey vermiyor. GIT'te nasıl birleşebilirim? Bunun için harika bir araç var mı yoksa WinMerge'ı mı yoksa uygulamayı mı kullanmalıyım?GIT'i Windows'ta nasıl birleştiriyorsunuz?

Java ve Eclipse kullanıyorum.

+4

: sen bir araç için soruyorsun Çatışmalara girdiğinizde üç yollu birleştirme yapmanıza yardımcı oluruz, değil mi? (Git'in yaptığı temel şeylerden biri birleştirme; çakışmaları çözmek için size kalıyor.) – Cascabel

cevap

69

kdiff3'u öneririm. gibi Kurun ve koydukları bir şey:

[merge] 
     tool = kdiff3 
[mergetool "kdiff3"] 
     path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[diff] 
     tool = kdiff3 
     guitool = kdiff3 
[difftool "kdiff3"] 
     path = c:/Program Files (x86)/KDiff3/kdiff3.exe 

yılında senin .gitconfig

küresel yapılandırma (.gitconfig) düzenlemek için: git config --global --edit

makinenizdeki yükleme yolu c:/Program Files (x86)/KDiff3/kdiff3.exe farklı olabilir. Yukarıdaki dizini kdiff3 ikili ürününüzün gerçek yolu ile değiştirin. Ve ileri eğik çizgi, / ve yerli programlar gibi değil geriye olanları ( \ ) genellikle yaptığımız kullanmak zorunda unutma.

+26

Genel yapılandırmayı düzenlemek için (.gitconfig): 'git config --global --edit' – Mike

+0

^bu olmalı cevaba da ekledi. :) – rgin

+4

Bu arada varsayılan yükleme konumu c:/Program Files/KDiff3/kdiff3.exe –

3

(windows xp, KDiff3 0.9.96 ve git 1.7.5.1), Jan HUDEC cevabı çalışmadı. İşte benim kurgusunda:

[diff] 
     tool = kdiff3 
     guitool = kdiff3 

[difftool] 
     prompt = false 

[difftool "kdiff3"] 
     path = /home/username/bin/difftool-kdiff3.sh 

ve

#!/bin/sh 

# Passed the following parameters from git 
# --auto --L1 "somefile (A)" --L2 "somefile (B)" /tmp/4VhUw0_somefile somefile 

LOCAL=$6 
REMOTE=$7 

"C:/Program Files/KDiff3/kdiff3.exe" $(cygpath -w "$LOCAL") "$REMOTE" 
+1

Cevabım [özgün Windows Git (MSysGit)] içindir (http://git-scm.com/download/win). Cygwin Git'i yerel KDiff3 ile kullanırsanız, bu sarıcıya 'cygpath' kullanarak ihtiyacınız vardır. Ama ben çoğunlukla cygwin kabuğundan kullansam da MSysGit'i tercih ederim (diskleri/c /,/d/vb üzerine yerleştirdim ve msys araçları çeviriye gerek duymadan yolları anlamalı; gerçekten yerli olanlar hala yok) . –

0

herhangi nezih Git sağlayıcı dikkat çekmek gerekir çünkü Aslında, hatta kendini msysgit, birleştirme için özel olarak başka bir araç gerekmez. WinMerge gibi bir GUI'nin arzu edildiği durumda, Eclipse için Git ekibi sağlayıcısı olan EGit vardır, ancak birleşme fonksiyonu hala göreceli olarak yeni olduğu için birleştirme fonksiyonu biraz kararsız olabilir. Windows birleştirme dahil olmak üzere çoğu git işlemleri için kullandığım TortoiseGit de var.

2

Eğer Eclipse kullanan söz olduğundan, çatışmaları işlemek için uygun bir yol sağlar EGit's merge tools, kullanabilirsiniz: netleştirmek için

enter image description here

enter image description here