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

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

然后,我想从功能/ JIRA-1000分支中删除“重构”提交。因此,在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分支上重复了硬重置(我不想重置的新分支)。在这种情况下,硬重置确实重置了我的本地更改。
(感谢,我能够通过再次硬重置为“重构”提交来撤消此操作)。
因此,也许我的JIRA-1000分支被某种方式破坏了?

最佳答案

您实际上所做的一切正确。

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

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

关于git - Git硬重置不还原本地文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56443141/

10-15 04:07