我在一家名为Lion的分公司工作,我错误地做了这个:
git push origin lion:master
而不是
git push eng lion:master
基本上第二行是将狮子分支推送到临时heroku应用程序,但我错误地将我的所有代码合并到原始主人。
我怎样才能恢复?我的分支机构中有大约200个提交。
格雷格
答案 0 :(得分:2)
假设没有其他人已经离开并获得了新的变化:
1)如果您可以直接访问origin
存储库,则可以在git reset --hard <commit ID>
的相关分支上执行origin
。
2)或者,您可以使用旧的提交ID执行git push -f
。
答案 1 :(得分:1)
命令'git reset'采用可选的commit参数。因此,如果您可以访问源存储库,则可以尝试:
git reset [--soft | --mixed] <last-good-commit> # in the remote/origin repository
如果您无权访问存储库,则可以执行以下操作:
git checkout -b rework <last-good-commit>
git push origin rework:master # The push merge will produce a commit that works back to <last-good-commit>