以下是发生的情况(我想这就是我的问题出现的原因,但不是100%确定):
-
有人发送了一份PR,我确实合并了它,但我使用Github恢复了它
revert
按钮
-
他用同样的委员会做了另一次公关(加上一次纠正错误)
-
我合并了它(使用Github
merge
按钮)
-
在第一次PR时恢复的提交已从主回购中消失!
为什么会这样?怎么可能现在,从做公关的岔路口
There isn't anything to compare
尽管这些提交不在远程回购的原始分支上。。
最后,我如何恢复这些提交?
编辑:按照要求,这是我的有趣之处
git log
:
* | | 25f28fb Merge branch 'FooUser-develop' into develop
|\ \ \
| * \ \ 73768b7 Merge branch 'develop' of https://github.com/FooUser/mainRepo into FooUser-develop
| |\ \ \
| | * | | 2e61235 Invert adresses
* | | | | d522031 Merge branch 'develop' of https://github.com/mainUser/mainRepo into develop
|\ \ \ \ \
| |/ / / /
|/| | | |
| * | | | 1e6e61b Merge pull request #946 from mainUser/revert-945-develop
| |\ \ \ \
| | * | | | 6767f03 (origin/revert-945-develop) Revert "Corrections"
| |/ / / /
| * | | | 5ccc9cd Merge pull request #945 from FooUser/develop
| |\ \ \ \
| | |/ / /
| | * | | 6e0c08b Corrections structuration
| | * | | f7ade9b Correction
| | * | | 4844437 Nb to Str
| | * | | 1729a83 Fix adress
| | * | | ceab88d Corrections: @ssert
| | * | | a3c8d1a #891 Fix
| |/ / /
我显然失去了最初的大部分承诺(
#891 Fix
例如)。
再搜索一下,我发现例如我添加的一些文件
a3c8d1a
(首次提交)
在上正确合并
73768b7
(倒数第二)
-他们不只是在这里
d522031
,因为还原-但随后消失在
25f28fb
(最后一个)
.
编辑2:
我认为问题是因为fork不同步(当我接受他的PR后,他没有git pull/merge,然后将其还原)。我怎样才能防止这种情况?
(顺便说一句,为了“修复”它,我不得不选择所有缺失的提交。)