Resolving a 'both added' merge conflict in git?

别等时光非礼了梦想. 提交于 2019-11-28 03:05:08
CB Bailey

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.

I sometimes find it confusing using the --theirs and --ours options to identify where the file will come from. Most of the time mine will be in the branch I am rebasing which is referred to by --theirs!

You can also use git checkout <tree-ish> -- src/MyFile.cs

Where the <tree-ish> can be replaced either by the branch name or commit-id that contains the file you wish to keep.

git checkout 6a363d8 -- src/MyFile.cs

git checkout my_branch -- src/MyFile.cs

git checkout HEAD -- src/MyFile.cs

When doing ...

git checkout --ours someFile

It may seem like it didn't do anything when doing git status.

Just Remember to do this afterwards.

git add someFile
git status
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!