如何逐行应用补丁?

9

有没有类似于从工作目录将补丁逐个添加到暂存区的git add -p命令,可以将补丁从stash逐个应用?

我正在寻找类似的命令:

git stash show -p | git apply --hunk-by-hunk
1个回答

6
据我所知,apply没有补丁模式。但是,您可以应用补丁,然后交互式地逐个删除您不喜欢的补丁差异块(hunk): git checkout -p

1
我不理解它的反向逻辑。 - Eugen Konkov
有点混乱,但是输入 y/yes 来选择你想要移除的块。 - jbu
这个我可以,但是当出现 e 的时候我会感到非常困惑。 - Eugen Konkov
在编辑模式下,@EugenKonkov,您正在查看上一个提交和HEAD之间的差异。+/-行是更改内容。如果您保留+/-行,则表示您告诉git您要检出该diff的这些更改(即从您的工作树中删除)。如果您删除带有+/-的行,则将它们保留在您的工作树中。 - jbu
@EugenKonkov 我同意,这很令人困惑,有点像双重否定。 - jbu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接