我想撤消提交并保留更改

时间:2018-11-26 21:16:17

标签: git

对不起-我不能与该问题的现有答案相关,也不能与大多数问题相关,因为不清楚所要询问的内容和答案所完成的内容。 我做到了:

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

我想回到2号之后和3号之前的状态。

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

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

2 个答案:

答案 0 :(得分:0)

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

select COUNT(DISTINCT u.member_id)
from database.tablea u
where u.member_id NOT IN (
  SELECT DISTINCT member_id
  FROM database.tableb
)

git reset @~ @~的简写(即上一次提交,数字HEAD~1表示“返回上一步”)。 Git将切换到该提交,并且更改将在1中显示为“ Notstaged for commit”。

答案 1 :(得分:0)

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

git reset HEAD~1

您的git项目本质上是一堆更改。 HEAD是该堆栈的顶部“单元”。提交更改时,您会在该堆栈顶部添加一个新单元格。 前面提到的命令在git add命令之前将这些文件恢复为修改后的文件。或者,换句话说,删除您堆叠的最后一个单元格。同样,数字-〜1-确定要删除的“单元格”或提交数。 如果有不清楚的地方,我很乐意回答。 另外,这是有关git reset的有用读物。