我有一个git意外。
我正在当地一家分行"feature1"
上工作
我想做"git push not-origin feature1:master"
相反,我不小心做了"git push origin feature1:master"
。
它造成了很多混乱并使提交交错(不是我可以恢复特定的提交)
有没有办法可以恢复这个,因为我没有本地更新的master版本,所以我不能强行推送它?
PS:我没有找到任何方法阻止推送到掌握而不升级到企业,这对于这种特征是昂贵的......
答案 0 :(得分:3)
有没有办法可以恢复这个,因为我没有本地主人的更新版本,所以我不能强行推动它?
我认为你错了;只要你没有强制推送(使用--forced
标志推送),git push
只有当远程引用在当前引用的路径上时才会成功,即,您当前的分支没有偏离远程主分支。
这意味着您的分支feature1
有一些提交C
,这是master
指向的内容。
所以你需要做的就是图C
,使用git branch master_recovered C
创建一个新的分支,然后使用git push -f origin master_recovered:master
强制推动这个分支。