我合并了来自另一个分支的更改,但是我遇到了冲突,因为远程分支上的文件已被删除但本地分支上的更改。
我想删除该文件 - 我尝试了git rm path/to/file
,但它说file: needs merge
。删除文件并提交合并的最佳方法是什么?
答案 0 :(得分:27)
尝试使用--force
参数:
git rm --force <file>
如果要将文件保留在文件系统中:
git rm --cached <file>
答案 1 :(得分:0)
我尝试了
git rm path/to/file
,但显示文件:needs merge
您将不再看到Git 2.23的错误消息(七年后的Q3 0219)
“ git rm
”解决了用于泄漏内部消息的冲突路径
实际删除路径之前,请先插入“ needs merge
”,这会造成混淆。
这已得到纠正。
请参见commit b2b1f61的Junio C Hamano (gitster
)(2019年7月17日)。
(由Junio C Hamano -- gitster
--在commit 5e9d978中合并,2019年7月25日)
rm:通过移除解决不是值得警告的事件
在解决路径冲突以支持将其删除时,请使用 这样做的标准方法是“
git rm
”。
但是,在该操作期间,会向用户显示“needs merge
”消息:$ git merge side-branch $ edit conflicted-path-1 $ git add conflicted-path-1 $ git rm conflicted-path-2 conflicted-path-2: needs merge rm 'conflicted-path-2'
已成功执行“
git rm
”的删除操作,但未启动用户 可能会造成混淆:
“needs merge
?所以我需要解决冲突 才能将其删除?”消息来自称为“
update-index --refresh
”的消息 在内部确保“git rm
”知道哪些路径是干净的 哪些路径是脏的,以防止删除已修改的路径 相对于没有“-f
”选项的索引。我们最终还是不压制渗透到UI表面的消息。
使用与“
git commit
”,“git describe
”等相同的机制 压制消息。