当前位置: 首页 > 知识库问答 >
问题:

我想撤消提交并保留更改

公冶京
2023-03-14

抱歉,我无法理解这个问题的现有答案,也无法理解大多数问题,因为答案是模棱两可的,答案是什么正在完成的。我做了:

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

我想在2点后返回美国。还有3点之前。

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

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

共有2个答案

邵繁
2023-03-14

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

git reset @~

@~HEAD~1 的简写(即上一个提交,数字 1 表示“返回 1 步”)。Git 将切换到该提交,并且更改将在 git 状态中显示为“未暂存提交”。

武晨
2023-03-14

已经建议的命令是您要查找的命令:

git reset HEAD~1

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

 类似资料:
  • 我正在尝试撤消自上次提交以来的所有更改。看过这篇文章后,我尝试了<code>git reset--hard。我回答说,头现在在18c3773…但当我查看我的本地源时,所有文件仍然在那里。我错过了什么?

  • 我正在尝试构建一个带有按钮的PHP计算器。我的问题之一是我不能有超过一个数字的值。例如,当我尝试输入一个值(例如33)时,文本框中的结果变为3,因为当我对所有数字使用submit时,页面被刷新。只能使用一个PHP页面。这个解决方案是向我建议的,但它不能解决我的问题,因为它使用了多个页面。此外,一个以上的数字似乎不起作用。 另外,这里是我的HTML的一个示例 这是我的用户界面的图片,一个我的用户界面

  • 我有这样的promise,1是最新的,3是最老的: 提交1 提交2 提交3 如何删除提交 1 和 2,但保留更改并将其提交到?

  • 我正在尝试撤消提交并复制提交,但当我使用时 (有人向我解释)出现了这个问题:更多?当有人向我解释的时候。声明没有提到。这意味着什么?我需要添加其他东西来撤销我的提交吗?

  • 如果说在众多提交中,已某个提交为基准,只保留上游众多提交中的某个或者某几个,可以使用 cherry-pick命令,具体是: git cherry-pick <commit id> 如果没有冲突,则回显示如下: Finished one cherry-pick. # On branch dev # Your branch is ahead of 'origin/dev' by 3 commits.

  • 用户提交表单后如何保留他们的输入? 例如: 如果用户键入 fname 和 lname,是的,它会回显出来。但是我想在输入类型中保留他们的名字和姓氏,这样如果表单很长,用户就不需要再次填写。