我已经执行了以下git命令:
git reset --hard hash
git push -f
本地一切正常,'hash'提交之后没有看到其他的提交。在推送之后也一切正常,没有出现任何错误,但是在Bitbucket中我的代码库的主面板(概述)上仍然显示最后的提交。我不理解这是为什么,我是否已经重置了远程仓库呢?
git pull
命令,本地仓库将获取所有后续提交。git reset --hard HASH
后,执行 git reset HEAD~
(注意:这是软重置),然后重新提交更改。这将为提交生成一个新的 SHA 值,当您强制推送更改时,BitBucket 上的树应该会按照您的期望进行更新。
警告: 这将更改历史记录,如果有其他人从仓库中拉取了代码,可能会引起麻烦。这不应该是撤消远程分支更改的常规工作流程,您应该使用 git revert
命令。git reset
并不会删除提交记录;如果你的意图是删除提交记录,这个命令并不适用。它会重置本地机器上当前的工作树(已暂存的修改将被提交)。
git revert
可以撤销指定的提交(不包括合并提交)。除此之外,最好的方法是重新开始。 - jackyalcinegit reset --merge <SHA1>
。 - jackyalcine