我合并了来自另一个分支的更改,但我遇到了冲突,因为远程分支上的文件已被删除,但本地分支上有更改。
我想删除该文件 - 我试过git rm path/to/file
但它说file: needs merge
。删除文件并提交合并的最佳方法是什么?
我合并了来自另一个分支的更改,但我遇到了冲突,因为远程分支上的文件已被删除,但本地分支上有更改。
我想删除该文件 - 我试过git rm path/to/file
但它说file: needs merge
。删除文件并提交合并的最佳方法是什么?
尝试使用--force
参数:
git rm --force <file>
如果要将文件保留在文件系统中:
git rm --cached <file>
我试过
git rm path/to/file
了,但它说文件:needs merge
您将不再看到 Git 2.23 的错误消息(Q3 0219,七年后)
" "在实际删除路径之前git rm
解决用于泄漏内部消息的冲突路径" ",这令人困惑。
这已得到纠正。needs merge
请参阅Junio C Hamano ( ) 的提交 b2b1f61(2019 年 7 月 17 日)。(由Junio C Hamano 合并 -- --在提交 5e9d978中,2019 年 7 月 25 日)gitster
gitster
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
”等相同的机制来压制消息。