5

我已经完成了这个 git 命令:

git reset --hard hash
git push -f

在本地一切都很好,在“哈希”提交之后我没有看到任何提交。推送后一切都很好,没有错误,但是在我的存储库(概述)的 Bitbucket 主面板上,最后一次提交仍然存在。而且我不明白,我是否重置了远程存储库?

4

2 回答 2

4

问题是你的 SHA 没有改变,所以 Git 并没有真正更新 BitBucket 上的远程。重置后的历史仍然存在,您可以这样做git pull,并且您的本地仓库将获得所有以后的提交。

完成后git reset --hard HASH,执行一次git reset HEAD~(注意:这是一个软重置)然后重新提交更改。这将为提交生成一个新的 SHA,当您强制推送更改时,BitBucket 上的树应该按照您的预期进行更新。

警告 这正在改变历史,如果有其他人从回购中撤出,这将造成麻烦。这不应该是撤消远程分支更改的正常工作流程,您应该使用git revert.

于 2013-10-08T14:04:02.913 回答
0

git reset不删除提交;如果这是你的意图。它重置本地计算机上的当前工作树(要提交的分阶段更改)。

于 2013-10-08T13:53:04.573 回答