Git硬重置不还原本地文件

时间:2019-06-04 11:40:11

标签: git git-reset

我有一个功能分支,我们称它为Feature / JIRA-1000。 在该分支上,我提交了一条消息,我们可以称其为“有效”。

此后,我对代码进行了重大重构,并将更改提交为“重构”。 但是,后来我意识到,应该将更改作为另一个任务(JIRA 2000)的一部分,在单独的分支上进行。因此,从JIRA,我在Feature / JIRA-1000的基础上创建了一个新的分支功能/ JIRA-2000。因此,该新分支同时包含“有效”提交和“重构”提交。

然后我想从Feature / JIRA-1000分支中删除“ Refactoring”提交。因此,在Gitkraken中,我右键单击了“ It works”,然后选择了“ Reset-> hard”。 我也从Git Bash尝试过:

$ git checkout feature/JIRA-1000
Already on 'feature/JIRA-1000'
Your branch is up to date with 'origin/feature/JIRA-1000'.

$ git reset --hard f9ef772b188ae359a77804b63a79aa542fd44e6b
HEAD is now at f9ef772 SERDOC-1000 It works

$ git push -f
Everything up-to-date

但是现在有个问题:我的本地文件没有更改。

我在做什么错了?

Gitkraken可能搞砸了一些东西,因为我认为我第一次运行命令时就进行了一些未分级的更改,并且我看到一个提交条目,内容为:

Merge remote-tracking branch 'origin/feature/JIRA-1000' into feature/JIRA-1000

位于我的分支机构历史记录的顶部。但是无论如何,JIRA-2000就是现在的样子。我只是无法将JIRA-1000恢复为我想要的样子。

编辑: 我只是不小心在JIRA-2000分支上重复了硬重置(我不想重置的新分支)。在这种情况下,硬重置 did 重置了我的本地更改。 (感谢,我能够通过再次硬重置为“重构”提交来撤消此操作)。 那么也许我的JIRA-1000分支被某种方式破坏了?

1 个答案:

答案 0 :(得分:0)

您实际上做对了所有事情。

您确定您的IDE使用了正确的存储库吗?也许出于某种原因,您在两个不同的文件夹中都具有相同的存储库,而IDE正在使用该存储库,而您并未执行这些命令。

您还可以从终端检查代码中的更改以确保它没有真正更改吗?