You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止git apply命令自动暂存其变更?

解决反向应用补丁后所有变更保留未暂存的问题

你遇到的情况是因为git apply -3(三路合并)默认会把无冲突的变更自动暂存到暂存区,只把冲突部分留在工作区,所以git diff只能看到冲突内容。要让所有反向应用的变更都保持未暂存状态,只需要在命令里加上--no-add参数:

git apply -3 -R --no-add patch.diff

这个参数会告诉Git:即使补丁的部分内容能成功三路合并,也不要把这些变更加到暂存区,所有修改都留在工作区。执行完这个命令后,git diff就会显示所有反向应用后的变更,包括成功应用的部分和有冲突的部分。

如果已经执行过原来的命令,并且部分变更已经被暂存了,可以先把暂存区的内容放回工作区:

git reset HEAD .

然后再重新执行带--no-add的反向应用命令即可。

内容的提问来源于stack exchange,提问作者some user

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:58:13