我如何撤销Git中的最后一次提交并将这些更改隐藏起来?

我如何撤销Git中的最后一次提交并将这些更改隐藏起来?,git,Git,我有一个名为feat-a的分支,我基本上希望“撤消”我的上一次本地提交,并将这些文件暂存。然后,当他们都是阶段性的,我想隐藏这些变化 现在我所做的听起来确实有点倒退,但这个问题的原因是强制master重新编写一些提交作者,所以在feat-a上合并或重新设置master的基础只会完全中断大量冲突,即使master和feat-a只需要一次提交 我在这里读过一个类似的问题: 但这不一定是我想做的。我只想取消存储并隐藏上一次直接提交,而不是用户想要的内容(即从其他提交之间拉出提交)。您使用的“暂存”一词

我有一个名为
feat-a
的分支,我基本上希望“撤消”我的上一次本地提交,并将这些文件暂存。然后,当他们都是阶段性的,我想隐藏这些变化

现在我所做的听起来确实有点倒退,但这个问题的原因是强制master重新编写一些提交作者,所以在
feat-a
上合并或重新设置master的基础只会完全中断大量冲突,即使master和feat-a只需要一次提交

我在这里读过一个类似的问题:


但这不一定是我想做的。我只想取消存储并隐藏上一次直接提交,而不是用户想要的内容(即从其他提交之间拉出提交)。

您使用的“暂存”一词不正确。在隐藏更改之前,您不需要或不想将更改分阶段进行。您希望更改显示在工作目录中,但不显示在index.interest中。谢谢你的提醒。让我知道你是否有关于这个词汇表的好资源,但是我几乎总是使用
staging
区域来处理通过
git add添加到那里的任何内容。
谢谢@eftshift0I删除了之前的评论并更正了它(我写错了一个词,这使它变得多余了……)。我的意思是:@williampersell正在阅读你的评论(尽管答案被接受)。我认为他使用这些术语是正确的。我唯一要说的是,对于已经跟踪的文件,没有必要为了隐藏它们而进行阶段性更改。。。然而,对于新文件,如果你想隐藏它们,你必须添加它们(或者使用更多的大脑记忆来学习和使用git stash中的一个选项,如果有任何选项可以在隐藏时包含新文件)。仅供参考:如果推送了它,你想恢复并隐藏它,在输入上述命令之前,我们可以使用
git cherry pick
it。作为备注,即使在重置/隐藏之后,cherry pick仍然是一个选项。提交不会立即被销毁,它会一直保持可用状态以供检查或挑选,直到最终被垃圾回收。
git reset --soft HEAD~1
git stash save "Saving instead" # or something like that