I'm rebasing in git, and one conflict I get is 'both added' - that is, exactly the same filename has been added independently in my branch, and in the branch I'm rebasing on. git status
tells me:
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both added: src/MyFile.cs
What are my options to resolve this either by a merge tool or from the commandline?
If I were to use git rm src/MyFile.cs
, how would it know which file version I wanted to remove or keep?
If you use git rm
git will remove all versions of that path from the index so your resolve action will leave you without either version.
You can use git checkout --ours src/MyFile.cs
to choose the version from the branch onto which you are rebasing or git checkout --theirs src/MyFile.cs
to choose the version from the branch which you are rebasing.
If you want a blend you need to use a merge tool or edit it manually.