如何中止git add -p丢弃更改?

时间:2014-01-06 18:42:25

标签: git git-reset git-add

我在某些文件上运行了git add,构成了一组逻辑单独的更改,对它们进行了其他更改,并使用git add -p提取了另一组逻辑更改。中途通过,我意识到我还没有提交上一套。

git add -p的互动帮助仅提供以下选项:

Stage this hunk [y,n,q,a,d,/,s,e,?]? ?
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help

如何重置添加的补丁?

1 个答案:

答案 0 :(得分:4)

git add -p分阶段更改而不存储历史记录,可用于恢复添加。但是,您可以使用 git reset -p git reset --patch 来取消更改。程序看起来如下:

  • 输入q
    退出交互式git add -p
  • git reset -p
    重置错误添加的所有更改
  • git commit
    提交第一个变更集
  • git add -p
    再次,将更改添加到新的第二次提交
  • git commit
    提交第二次提交