git - Git rebase 冲突:许多文件在本地删除,并在远程修改。如何“git rm”所有这些?
问题描述
我正在使用分支功能并重新定位到master和历史记录已经分歧。在功能中,数十个文件已被删除,同时在master上进行了修改。我确定我不再需要这些文件了,所以重新设置基准,保留功能:
git rebase -Xtheirs master
它接受我对feature所做的所有更改,但仍然会为已在feature上删除的master修改文件留下冲突,报告:
CONFLICT (modify/delete): some/file1 deleted in HEAD~3 and modified in master. Version master of some/file1 left in tree.
和
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add/rm <file>..." as appropriate to mark resolution)
deleted by them: some/path/file1
deleted by them: other/path/file2
deleted by them: another/path/file3
...
他们有无数。我必须为git rm some/path/file1
他们每个人奔跑。有没有一种简单的方法可以列出所有被他们删除的文件并将它们git rm
自动传递给他们?
更新: 如果您想尝试一下,这里有一个非常小的示例 GitHub 存储库,适用于这种情况。克隆和结帐功能,然后尝试重新定位到 master。
git clone https://github.com/chhh/git-rebase-conflict-resolution
git checkout feature
git rebase -Xtheirs master
解决方案
如果您唯一的冲突是“被他们删除”的未合并路径,我认为只会git add -u
解决这种情况。