我想撤消提交并保留更改

  • 本文关键字:保留 提交 撤消 git
  • 更新时间 :
  • 英文 :


对不起——我无法理解这个问题的现有答案,也无法理解大多数问题,因为我不清楚所问的问题和答案所完成的任务。我做到了:

  1. git克隆
  2. 使用我最喜欢的编辑器编辑的文件
  3. git添加文件
  4. git提交文件

我想在2之后返回到状态。以及在3。

如果您的答案包含任何git命令的参数,请不要忘记解释这些参数(例如HEAD~32(。

我的问题似乎是一个"重复问题"。在搜索"undo-git-commit"时,我没有看到这个现有的问题。因此,这个问题也可能不会显示给其他搜索我的搜索短语的人(当我需要再次查找答案时,也不会显示给我(。此外,现有问题中的答案并没有解释HEAD^是什么(这里的当前答案也没有(。

已经建议的命令就是您正在寻找的命令:

git reset HEAD~1

您的git项目本质上是一堆更改。HEAD是该堆栈的顶部"单元格"。当您提交更改时,您会在堆栈的顶部添加一个新单元格。前面提到的命令在gitadd命令之前将这些文件卸载回修改过的文件。或者,换句话说,删除您堆叠的最后一个单元格。此外,数字-~1-决定了要删除的"单元格"或提交的数量。如果有什么不清楚的地方,我很乐意回答。此外,这里还有一本关于git重置的有用读物。

只返回到上次提交前的状态,但将更改保留在工作副本中:

git reset @~

@~HEAD~1的简写(即上一次提交,数字1表示"返回1步"(。Git将切换到该提交,并且更改将在git status中显示为"未提交"。

最新更新