(CLI解决方案-但SourceTree解决方案仍然受欢迎)
由于您在没有分支权限方案阻止您推送的情况下单独处理存储库,您唯一的问题是找到在您最后一次推送之前master
所在的提交。
如果您只提交了几次,则可以从您的git log --oneline master
输出中轻松找到。查找来自dev
的最后一个合并请求,记录该提交哈希值,我们称其为<oldMasterHash>
。
然后只需执行以下操作:
# move dev where master is now
git checkout -B dev master
git push
# now let's "repair" master
git checkout master
git reset --hard <oldMasterHash>
# here we'll need --force to push since this is a history rewrite
git push --force
...然后你就可以设置好本地和远程环境了。