如何阻止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
相关产品推荐
相关产品推荐

