我只是跑git push -f
错了,因此覆盖了一个远程分支。
原版的:
(remote origin:)
branch master -> commit aaaaaaa
branch foo -> commit bbbbbbb
(local)
branch master -> commit ccccccc
branch foo -> commit ddddddd
之后git push -f
:
(remote origin:)
branch master -> commit ccccccc
branch foo -> commit ddddddd
在本地存储库中,我正在处理master
分支,因此我可以将分支还原master
为commit aaaaaaa
,因为我可以aaaaaaa
从获取分支git reflog
。但是,我无法提交,bbbbbbb
因为我之前没有拉过git push -f
。
我已经git reflog
在远程存储库中尝试过,但是在裸存储库中的reflog中没有什么用。
如何还原分支foo
以提交bbbbbbb
到远程存储库中?
(PS我不知道的实际值bbbbbbb
。)
但是远程仓库是一个裸仓库。
—
谢耶莱2011年