Git 硬重置不恢复本地文件

Git hard reset is not reverting local files

我有一个特征b运行ch,我们称它为feature/JIRA-1000。 在这个 b运行ch 上,我提交了一条消息,我们可以调用 "It works."

在此之后,我对代码进行了重大重构,并将更改提交为 "Refactoring." 然而,后来我意识到,我应该将更改作为另一项任务 (JIRA 2000) 的一部分,在单独的 b运行ch 上进行。所以从 JIRA,我创建了一个新的 b运行chfeature/JIRA-2000,基于 feature/JIRA-1000。因此,新的 b运行ch 包含 "It works" 和 "Refactoring" 提交。

然后我想从 feature/JIRA-1000 b运行ch 中删除 "Refactoring" 提交。所以在 Gitkraken 中,我右键单击 "It works" committ 并选择 "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

在我 b运行ch 历史的顶部。但无论如何,JIRA-2000 现在应该是这个样子。我无法将 JIRA-1000 恢复到我想要的状态。

编辑: 我只是不小心在 JIRA-2000 b运行ch 上重复了硬重置(新的 b运行ch 我不想重置)。本例中的硬重置 did 重置了我的本地更改。 (值得庆幸的是,我能够通过再次硬重置到 "Refactoring" 提交来撤消此操作)。 那么也许我的 JIRA-1000 b运行ch 以某种方式损坏了?

你实际上做对了一切。

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

您是否也可以从终端检查代码的变化以确保它是否真的没有变化?