我已经完成了这个 git 命令:
git reset --hard hash
git push -f
在本地一切都很好,在“哈希”提交之后我没有看到任何提交。推送后一切都很好,没有错误,但是在我的存储库(概述)的 Bitbucket 主面板上,最后一次提交仍然存在。而且我不明白,我是否重置了远程存储库?
问题是你的 SHA 没有改变,所以 Git 并没有真正更新 BitBucket 上的远程。重置后的历史仍然存在,您可以这样做git pull
,并且您的本地仓库将获得所有以后的提交。
完成后git reset --hard HASH
,执行一次git reset HEAD~
(注意:这是一个软重置)然后重新提交更改。这将为提交生成一个新的 SHA,当您强制推送更改时,BitBucket 上的树应该按照您的预期进行更新。
警告
这正在改变历史,如果有其他人从回购中撤出,这将造成麻烦。这不应该是撤消远程分支更改的正常工作流程,您应该使用git revert
.
git reset
不删除提交;如果这是你的意图。它重置本地计算机上的当前工作树(要提交的分阶段更改)。