2

我正在一个名为 Lion 的分支上工作,我错误地这样做了:

git push origin lion:master

代替

git push eng lion:master

基本上第二行是将狮子分支推送到登台 Heroku 应用程序,但我错误地将我的所有代码合并到 origin master 中。

我怎样才能恢复比?我的分支中有大约 200 个提交。

格雷格

4

2 回答 2

2

假设没有其他人已经离开并获得了新的变化:

1) 如果您可以直接访问origin存储库,则可以git reset --hard <commit ID>origin.

2)或者,您可以git push -f使用旧的提交 ID 进行操作。

于 2012-04-08T17:28:06.320 回答
1

命令 '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>
于 2012-04-08T20:33:41.143 回答