How do you merge in GIT on Windows?
I tried to use GIT however for me the biggest problem with it is that there is no tool for merge’ing. At least the msysgit does not give me anything. How can I merge in GIT? Are there any great tools for it or do I have to use WinMerge or application like that?
I use Java and Eclipse.
5 Solutions collect form web for “How do you merge in GIT on Windows?”
I suggest kdiff3. Install it and put something like:
[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
To edit the global config (.gitconfig):
git config --global --edit
The installation path on your machine may be different from
c:/Program Files (x86)/KDiff3/kdiff3.exe. Replace that string above with actual path to your kdiff3 binary. And don’t forget you have to use forward slashes,
/, and not backward ones (
) like native programs usually do.
For me (windows xp, kdiff3 0.9.96 and git 18.104.22.168), Jan Hudec’s answer did not work. Here is my setup:
[diff] tool = kdiff3 guitool = kdiff3 [difftool] prompt = false [difftool "kdiff3"] path = /home/username/bin/difftool-kdiff3.sh
#!/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"
Kdiff3 is a great merge tool that I like to use in combination with git.
Since you mention you use Eclipse, you can use EGit’s merge tools, which provides a convenient way to handle conflicts:
You don’t actually need another tool specifically for merging, since any decent Git provider should be able to take care of that, even msysgit itself. In your case where a GUI like WinMerge is desirable, there is EGit, which is the Git team provider for Eclipse, although its merge function can be somewhat unstable since the project is still relatively new. There is also TortoiseGit which I use for most git operations on Windows inclusive of merge.