提交后如何取消添加文件?

时间:2019-10-30 19:43:32

标签: git

我不小心对提交做了一些更改。我想从提交中删除那些更改,但将其保留在我的工作树中。为了清楚起见,我做了这样的事情:

git add xyz
git add unwanted # please make it as if I never typed this line
git commit -m 'nice xyz changes'

是否有一种简便的方法来修改此提交,以使不需要的git add在提交之前从未发生过?

我想我可以进行比较,将文件重置为上一次提交时的状态,修改错误的提交并应用比较。有没有更简单的方法?

2 个答案:

答案 0 :(得分:1)

您只需:

git checkout HEAD^ -- unwanted
git commit --amend

答案 1 :(得分:1)

我刚刚注意到git reset是完全根据我的需要制作的。它仅接触索引并将其重置为特定的提交(或更一般而言,重置为某些“树状”)。工作树保持完整。这解决了我的问题:

git reset HEAD^ -- unwanted
git commit --amend