我正在一个名为 Lion 的分支上工作,我错误地这样做了:
git push origin lion:master
代替
git push eng lion:master
基本上第二行是将狮子分支推送到登台 Heroku 应用程序,但我错误地将我的所有代码合并到 origin master 中。
我怎样才能恢复比?我的分支中有大约 200 个提交。
格雷格
我正在一个名为 Lion 的分支上工作,我错误地这样做了:
git push origin lion:master
代替
git push eng lion:master
基本上第二行是将狮子分支推送到登台 Heroku 应用程序,但我错误地将我的所有代码合并到 origin master 中。
我怎样才能恢复比?我的分支中有大约 200 个提交。
格雷格
假设没有其他人已经离开并获得了新的变化:
1) 如果您可以直接访问origin
存储库,则可以git reset --hard <commit ID>
在origin
.
2)或者,您可以git push -f
使用旧的提交 ID 进行操作。
命令 'git reset' 带有一个可选的提交参数。因此,如果您有权访问原始存储库,则可以尝试:
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>