将git push恢复到错误的分支

时间:2015-01-13 10:17:05

标签: git github reverting

我有一个git意外。

我正在当地一家分行"feature1"上工作 我想做"git push not-origin feature1:master"
相反,我不小心做了"git push origin feature1:master"

它造成了很多混乱并使提交交错(不是我可以恢复特定的提交)

有没有办法可以恢复这个,因为我没有本地更新的master版本,所以我不能强行推送它?

PS:我没有找到任何方法阻止推送到掌握而不升级到企业,这对于这种特征是昂贵的......

1 个答案:

答案 0 :(得分:3)

  

有没有办法可以恢复这个,因为我没有本地主人的更新版本,所以我不能强行推动它?

我认为你错了;只要你没有强制推送(使用--forced标志推送),git push只有当远程引用在当前引用的路径上时才会成功,即,您当前的分支没有偏离远程主分支。

这意味着您的分支feature1有一些提交C,这是master指向的内容。

所以你需要做的就是图C,使用git branch master_recovered C创建一个新的分支,然后使用git push -f origin master_recovered:master强制推动这个分支。

相关问题