我不小心对提交做了一些更改。我想从提交中删除那些更改,但将其保留在我的工作树中。为了清楚起见,我做了这样的事情:
git add xyz
git add unwanted # please make it as if I never typed this line
git commit -m 'nice xyz changes'
是否有一种简便的方法来修改此提交,以使不需要的git add
在提交之前从未发生过?
我想我可以进行比较,将文件重置为上一次提交时的状态,修改错误的提交并应用比较。有没有更简单的方法?
答案 0 :(得分:1)
您只需:
git checkout HEAD^ -- unwanted
git commit --amend
答案 1 :(得分:1)
我刚刚注意到git reset
是完全根据我的需要制作的。它仅接触索引并将其重置为特定的提交(或更一般而言,重置为某些“树状”)。工作树保持完整。这解决了我的问题:
git reset HEAD^ -- unwanted
git commit --amend