Resolving a 'both added' merge conflict in git?

后端 未结 3 1532
北恋
北恋 2020-12-04 07:48

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 rebasin

相关标签:
3条回答
  • 2020-12-04 08:09

    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.

    0 讨论(0)
  • 2020-12-04 08:15

    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
    
    0 讨论(0)
  • 2020-12-04 08:28

    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

    0 讨论(0)
提交回复
热议问题