我是从Git和Magit开始的,所以我不知道我的问题是针对哪一个。
有时我将更改保存到文件但后来不想提交它们:我只想回到最后一次提交。
我正试图从Emacs / Magit做这件事,而我所做的只是疯了:
这需要很多按键,绝对是疯了。
我肯定错过了一些非常明显的东西,但根本无法找到:我从Emacs / Magit中有效地删除了最后保存的更改并简单地返回到最后一次提交?
答案 0 :(得分:1)
我对Emacs / Magit
并不熟悉,但我可以告诉你可以从shell运行的等效git命令。
如果我正确理解了您的问题,我相信您正在寻找一种简单的方法来恢复当前工作树中所有已更改的文件。如果不是这样,请不要按照以下步骤操作;)
如果您只想在不触及索引的情况下丢弃文件工作树中的本地更改,则可以执行以下操作:
git checkout -- <FILE>
如果您想在不触及索引的情况下放弃所有本地更改,您可以从回购根目录运行此代码:
git checkout -- .
如果您希望放弃索引和工作树中的所有更改,并希望在结帐后将工作树和索引移动到状态,则可以使用git reset --hard
命令。 (请注意工作树中的任何未提交的更改,甚至索引/暂存区域中未提交的更改都将丢失)。
git reset --hard HEAD
上述命令中的HEAD
是可选的BTW。
答案 1 :(得分:1)
k
中的是删除内容,因此如果您想删除更改,则只需继续进行要还原的更改,并在其上使用k
。
您还可以使用X
还原工作树中的每个更改(注意,不要撤消此操作)