How to resolve git conflicts in SourceTree

I was using NetBeans GIT plugin before, then I've decided to switch to SourceTree (v 1.9.4 ) as it is more efficient and powerful. As a newcomer to SourceTree I've managed to figure out basic Pull, Pushand Commit workflows.

However, I got stuck when there were file conflicts when merging with my friend's work. In NetBeans if there are any conflicts, the plugin suggest to resolve it in a popup and I just want to go to the conflict resolving interface and accept the correct code chunk by clicking a button. That was simple.

In SourceTree, there is something called External Merge Tool which didn't work well for me. When I right click on the file with conflicts, it just opened up two files side by side and there were arrows pointing left to right in the middle. There is a dropdown at the bottom of the screen to select the arrow direction.

I tried to use this interface to resolve conflicts for a long time but failed. It didn't fix the conflicts and merged two files.

As I searched through the internet I found that some people use external SourceTree conflict solving plugins to merge. Actually I'm little lost here. That's why I've decided to post this problem here.

Could you please tell me, how to resolve conflicts in SourceTree effectively?

Should I use an external plugin or should I use the External Merge Tool (if so, how can I use this)?

Please help me! Thanks in advance!

5 answers

One thing I wish source tree had was a UI way to solve merge conflicts, the guys at Tower implemented within Tower 2 a feature called Conflict Wizard (Tower2that helps solve conflicts right from the interface of Tower. I understand that not all conflicts can be solved like this (sometimes you may want content from both files not just one or another).

Screen

conflict-wizard_@1.png

It's not so fancy, but you can resolve the conflict by right clicking and selecting "Resolve using mine" or "Resolve using theirs". Beyond that, feature requests are more appropriate for jira.atlassian.com, where they can be voted on by other community members, and assigned to developers.

I'm not sure that there's actually a difference here. SourceTree does not have a built-in merge tool, so it uses an external one. You can allow to start the system's default merge tool, select from a list of supported tools, or enter the command line params for any non-supported tool.

Based on your SourceTree version (1.9.4) it sounds like you are on a Mac. Another Mac user recently expressed frusteration with the default tool. You might try a tool that supports 3-way merge (original, branch a, branch b). Meld sounds like it can do this, and it's free.

I'm having exactly the same problem. I can do basic operations in Source Tree but as soon as I get a merge conflict I can't get anything further.

Thanks for your answer Seth but its a bit of Microsoft Helicopter answer - completely factually correct but no use at all. I'm not looking for a better merge tool. I'm looking for instructions on using any merge tool with source tree. Preferably a built in or default one so I don't have to worry about installing something new. I'm on a Mac and when I open "External diff" it comes up with something called FileMerge and I can't make it do anything - selecting "choose right" does nothing.

A step by step guide would be great.

TLDR; I am not on Mac and have never used Filemerge. Others here might have, but FileMerge is much broader that Sourcetree, you'd be better off asking how to use it on a Mac forum. Some people here don't like it, but it's the only built-in, so you may have to install an application.

Long version:

I'm not familiar with the term "Microsoft helicopter", but your definition makes a lot of sense. And you're right - my answer is not useful.

There are two reasons for this:
First reason: The problem at hand has almost nothing to do with SourceTree. Sure, SourceTree launches the merge tool, but it does so in the exact same way as any other Git frontend will - including the Git command line.

Now, if you need to know how to configure a specific merge tool so that SourceTree launches it correctly - this forum is the perfect place to ask the question.

Second reason: The question depends on what tool you use, and that choice is incredibly subjective. It's essentially the same as coming onto this forum and asking what the best IDE is. Sure, many people here might have an opinion, but it isn't relevant to the forum, and there are already exhaustive lists and debates elsewhere on the internet.

Atlassian isn't the only one to avoid this: Here's GitHub's page on how to resolve conflicts. Summary: "Use your text editor" - even less helpful.

These questions make the folks at StackOverflow grumpy too, but they usually get good answers before the question get's closed. Here's a useful one.

So, step by step:

1) Choose a merge tool. Install it if necessary. I recommend anything that supports 3-way merge. A simple diff is insufficient for resolving merge conflicts.

2) Configure SourceTree to use your merge tool in Options > Diff > Merge Tool. If it's not a selectable option, search for an answer about how to configure your tool, or ask a new question.

3) Try it out. Every tool works differently, so hopefully you can find documentation, or possibly find it to be intuitive. If you can't make it work (Sounds like you can't make FileMerge work), go back to step 1.

The SourceTree tool do not face the quality of Bitbucket service, is slow, color sintax is ugly, interface is poor, and merge inject fu... %^%$#@#$$ (<<<<<<) in the code...

Those are conflict markers. You have to resolve conflicts. All version control systems do this when a merge involves trying to combine different changes to the same line of code.

Additionally, you can use any git client to manage your local clone of a Bitbucket repo. If you don't like SourceTree, quit whining about it and use something else.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Agile

How Davin Studer gets Confluence to do everything he wants it to do...except dishes

  @Davin Studer holds many interests, including but not limited to health tech and Star Trek. Read on to discover more about Davin, from his favorite Confluence macros to his favorite lit...

183 views 1 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you