对不起-我不能与该问题的现有答案相关,也不能与大多数问题相关,因为不清楚所要询问的内容和答案所完成的内容。 我做到了:
我想回到2号之后和3号之前的状态。
如果您的答案包含任何git命令的参数,请不要忘记解释这些参数(例如HEAD〜32)。
我的问题似乎是“重复的问题”。在搜索“ undo git commit”时,没有显示此现有问题。因此,可能这个问题也不会显示给其他搜索我的搜索短语的人(当我需要再次查找答案时,对我也不是)。 另外,现有问题中的答案并不能解释HEAD ^是什么(这里的当前答案也没有)。
答案 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的有用读物。