【发布时间】:2020-01-06 16:07:53
【问题描述】:
从master,分支A 分支。然后,几次提交(到master)之后,B 分支被分支了。
A 的所有者对文件 fname 进行了更改。 B 的所有者完全删除了 fname。
然后,B 被重新定位并合并到 master。现在,A 将被重新定位和合并。但是现在A 的所有者与文件fname 发生冲突,说:
CONFLICT (modify/delete): fname deleted in HEAD and modified in "commit msg". Version "commit msg" of fname left in tree.
通常,通过编辑中间文件,git add fname 它然后git rebase --continue 进程来解决冲突。
但是如何解决已删除文件的冲突?最终结果应该是文件被删除。
【问题讨论】:
-
@wcarhart - 谢谢。如果我理解正确,那么建议是
git rm fname然后git add -A。但是add -A不是包罗万象的命令吗?如果我有多个冲突(其中一些是问题中描述的性质,有些不是),我想一一解决怎么办?或者,如果我在 repo 目录中有未跟踪的文件? -
-A将包含所有内容,但您可以针对要保留的每个更改单独执行git rm fname和git add <file>。这行得通吗? -
@wcarhart - 不幸的是,不是。这是我尝试的第一件事。出现错误:
fatal: pathspec 'fname' did not match any files
标签: git rebase git-merge-conflict