What’s a good (free) visual merge tool for Git? (on windows)

On Windows, a good 3-way diff/merge tool remains kdiff3 (WinMerge, for now, is still 2-way based, pending WinMerge3) See “How do you merge in GIT on Windows?” and this config. Update 7 years later (Aug. 2018): Artur Kędzior mentions in the comments: If you guys happen to use Visual Studio (Community Edition is free), try the tool that is shipped with it: vsDiffMerge.exe. It’s … Read more

How to merge a specific commit in Git

git cherry-pick‘ should be your answer here. Apply the change introduced by an existing commit. Do not forget to read bdonlan‘s answer about the consequence of cherry-picking in this post:“Pull all commits from a branch, push specified commits to another”, where: becomes: The problem with this commit is that git considers commits to include all … Read more

Git merge reports “Already up-to-date” though there is a difference

The message “Already up-to-date” means that all the changes from the branch you’re trying to merge have already been merged to the branch you’re currently on. More specifically it means that the branch you’re trying to merge is a parent of your current branch. Congratulations, that’s the easiest merge you’ll ever do. 🙂 Use gitk … Read more

How do you merge two Git repositories?

A single branch of another repository can be easily placed under a subdirectory retaining its history. For example: This will appear as a single commit where all files of Rails master branch are added into “rails” directory. However the commit’s title contains a reference to the old history tree: Add ‘rails/’ from commit <rev> Where <rev> is a … Read more