2014-01-06 56 views
1

我在某些文件上運行了git add,構成了一組邏輯上單獨的一組更改,對其進行了其他更改並使用git add -p提取了另一個邏輯變更集。過了一半,我意識到我還沒有犯下前一套。如何中止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 

如何重置增加的補丁?

回答

3

git add -p階段更改不存儲歷史記錄,可用於恢復添加。但是,您可以使用git reset -pgit reset --patch以取消更改。的過程看起來會行:

  • 進入q
    退出交互式git add -p
  • git reset -p
    重置錯誤添加的所有變化
  • git commit
    提交第一變更
  • git add -p
    再次,addi納克變爲新的第二提交
  • git commit
    提交第二提交