I'm confused by the working when you resolve conflicts. What does "theirs" refer to and what does "mine" refer to?
Which version is kept by the two options?
Hi Thomas,
I believe that you're talking about Git, right?
When you have conflict between your file and the file that you're merging, you have two choices:
"Mine" - Your file will be used to solve the conflicts
"Theirs" - The Target file will be used to solve the conflicts.
It depends on what you need to use to solve the file conflict.
Kind Regards,
Henrique Lechner
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Actually the opposite:
Mine = The file that I'm merging into the current
Theirs = The current
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Oh... then it was good I asked first. Because that wasn't obvious to me. I wasn't able to find any references that described this either.
Is this the wording normally used for such operation? Is there perhaps more clearer wording? Or am I the only one to find this confusing?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm having hard time digesting this. In my opinion the initial answer says the exact opposite of the comment.
Let's say we have two branches branch1 and branch2. Assume we are in branch2 and we merge the last commit of branch1 into the branch2 and we get conflicts. Now:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi I'd just like to point out that Henrique's answer is incorrect for SourceTree 2.5.2 (current as of June 2017) per my understanding and experience (perhaps I misunderstood). This is a git repo.
Here is the state before merge: branch v4 has all the new stuff, branch develop is behind. I'm merging v4 into develop.
Current branch: develop
Merge v4 -> Develop
Mine == Use the file as it is in Develop, ie. the same branch I am in
Theirs == Use the file as it is in v4, ie. the branch I am not in
This makes sense to me (it's what I expected), but appears to be the opposite of Henrique's answer.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I just gave it a shot and at least when applying stash it seems to work the way you describe it:
mine: uses the file in the currently active branch
theirs: uses the file from the stash
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
"mine" and "theirs" is horribly confusing, and seems to vary depending on whether you're doing a merge or a rebase.
So confusing that I always have to use an external merge tool to get it right.
Please change this to use the branch names or commit IDs instead.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We beg you to do this!!.. Messed and confused many times. Plzzz..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Or use a less vague pair of words like VS Code have done:
Current VS Incoming
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As of 3.2.6 when you pick "mine" or "theirs" a confirmation windows pops up explaining which is which as well as saying which commitID it denotes.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
With something so important as source control, why does the tool have to hamper you in this way. +1000 for using branch names.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Resolve using "theirs" should result in my local changes discarded for that file, and the remote version taking over. Resolve using "mine" should mean I choose to keep my local version instead of the remote version. Instead, the opposite happens. The functions are switched.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can I +1 this? Not only does the UI use "mine" and "theirs", but when merging using a diff tool it creates temp files names myfile.LOCAL.txt and myfile.REMOTE.txt .. so mine is local, and theirs is remote?
Why not just have "resolve using branchname1" and have the file called myfile.branchname1.txt in the resolve tool, and "resolve using branchname2" and have the file called myfile.branchname2.txt in the resolve tool?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I can only guess that they are trying to get people to give up on sourcetree so they can scrap it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This problem has been well-known—yet ignored—for many years: https://jira.atlassian.com/browse/SRCTREE-1579
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This is still not resolved ahaha.
Ok, here is a work around source tree.
- Open the panel that shows conflicting files in source tree.
- Open visual studio code
- Drag the conflicting file from source tree into VSCode.
- Resolve conflict
- Back in source tree and stage the file.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
^ THIS!!!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
just wish VS Code had the option to resolve all conflicts in a file using Current Changes, Incoming Changes or Both Changes
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It does, see here: https://github.com/Microsoft/vscode/issues/42387#issuecomment-361491076
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks, it's help
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
6 years is not enough to solve obvious UX disaster.
No the dialog it bad option to solve the problem. It is distractive and slowing down.
1. Git uses different terminology, you have to use the same , there is ours and theirs.
2. You know what you are merging. Show in context menu what is mine and what is theirs. Show branch name(if you can't guess it then commit).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm using Sourcetree for managing commits, branches, merging, etc. I was merging branch A into my currently selected branch B/working copy and I wanted to keep the changes from branch A. What I experienced was Mine = Current Branch (B) and Theirs = Branch being merged in (A). So my solution was to Resolve using Theirs.
I was able to verify this when I got a prompt to confirm the commit I wanted to use. In this prompt it provided a string of numbers and letters. When I selected Mine i got a value that matched the latest commit for B and when I selected Theirs I got a value that matched the latest commit from A.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Joel. I definitely like this referential method better than the relativistic methods.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I hope it will help some one =)
This is Merge Conflict. Be careful, rebase work in opposite way.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
"Mine" and "Yours" flips meaning whether if you are rebasing or pulling ... so yes it is confusing.
Which one is always "HEAD"?
That's what I would like to know
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.