Git变基遇deleted by us冲突无法解决,求非重建分支方案
Git Rebase 冲突解决:文件被替换为符号链接的场景
这种冲突是因为base分支(main)将目标文件替换成了符号链接,而当前分支仍保留原普通文件,Git在rebase时无法自动处理这种文件类型冲突,常规的add/rm操作无法清理特殊命名的冲突条目。按以下步骤解决:
查看所有未合并的文件条目,确认冲突细节:
git ls-files -u清理Git生成的特殊冲突文件(注意文件名含空格和括号,必须用引号包裹):
git rm --cached "path/to/file.yml~abcdefghi (BRANCHNAME branch-commit-msg)"选择要保留的版本:
- 若要采用main分支的符号链接版本:
git checkout --ours path/to/file.yml git add path/to/file.yml - 若要保留当前分支的原文件版本:
git checkout --theirs path/to/file.yml git add path/to/file.yml
注意:rebase场景下,
--ours指向base分支(main),--theirs指向当前正在rebase的分支,和普通merge的逻辑相反。- 若要采用main分支的符号链接版本:
继续rebase流程:
git rebase --continue
内容的提问来源于stack exchange,提问作者Péter Györk
相关产品推荐
相关产品推荐

