我在 git 中 rebase ,我得到的一个冲突是“都添加了”——也就是说,完全相同的文件名已经独立地添加到我的分支和我要 rebase 的分支中。 git status
告诉我:
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both added: src/MyFile.cs
我的问题是,我该如何解决这个问题?我必须使用 merge 工具还是有什么方法可以仅从命令行执行此操作?如果我 git rm src/MyFile.cs
,git 如何知道我想删除和保留哪个文件版本?
最佳答案
如果您使用 git rm
,git 将从索引中删除该路径的所有版本,因此您的 resolve 操作将使您没有任何一个版本。
您可以使用 git checkout --ours src/MyFile.cs
从要 rebase 的分支或 git checkout --theirs src/MyFile.cs
从您要 rebase 的分支中选择版本。
如果您想要混合,您需要使用 merge 工具或手动编辑。
关于git - 解决 git 中的 'both added' merge 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823692/