这是发生的事情:
我有两个远程 git 分支:master
和feature1
. 出于某种原因我必须使用git push --force
forfeature1
分支,但我不知道我什么时候使用git push --force
它也会推送master
分支。然后,当我将本地master
分支推送到远程存储库时,一场灾难发生了。
幸运的是,我的本地分支离远程不远。基本上,我的远程master
在我的本地之前合并了两个拉取请求master
。
所以我的问题是:我可以重新打开拉取请求并重新合并吗?我注意到合并请求有提交版本,所以我担心如果我只是提出新的拉取请求会搞砸什么?理想情况下,我只想重做两个请求的合并。
有没有其他方法可以从这场灾难中恢复过来?我了解到这--force
是一个非常非常糟糕的选择。:(
更新,发生的事情的例子:
我有以下分支:
master
feature1
origin/master
origin/feature1
我使用 GitHub 的Auto merge pull requests
. 然后,我没有master
在本地机器上获取分支。因此,我认为我origin/master
的远程大师落后了两个版本。
然后我不小心使用git -f push
了,它覆盖了远程分支,现在我丢失了远程存储库上拉取请求的提交。
我怎样才能在不破坏其他贡献者历史的情况下从中恢复?