Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git/Github:Commit丢失了_Git_Github_Git Merge_Revert_Pull Request - Fatal编程技术网

Git/Github:Commit丢失了

Git/Github:Commit丢失了,git,github,git-merge,revert,pull-request,Git,Github,Git Merge,Revert,Pull Request,下面是发生的情况(我想这就是我的问题出现的原因,但不是100%确定): 有人发送了一个PR,我确实合并了它,但是我使用Githubrevert按钮还原了它 他用相同的提交做了另一个PR(加上一个以更正错误) 我合并了它(使用Githubmerge按钮) 在第一次PR时恢复的提交已从主回购中消失 为什么会这样?怎么可能现在,从做PR的分支来看,它说没有什么可比较的,尽管这些提交不在远程回购的原始分支上 最后,我如何恢复这些承诺 编辑:按要求,这里是我的代码> Git日志 >的有趣PAR: *

下面是发生的情况(我想这就是我的问题出现的原因,但不是100%确定):

  • 有人发送了一个PR,我确实合并了它,但是我使用Github
    revert
    按钮还原了它
  • 他用相同的提交做了另一个PR(加上一个以更正错误)
  • 我合并了它(使用Github
    merge
    按钮)
  • 在第一次PR时恢复的提交已从主回购中消失
为什么会这样?怎么可能现在,从做PR的分支来看,它说
没有什么可比较的
,尽管这些提交不在远程回购的原始分支上

最后,我如何恢复这些承诺

编辑:按要求,这里是我的代码> Git日志 >的有趣PAR:

* | |   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
| |/ / /
我显然丢失了大部分第一次提交(例如,
ͻFix

再搜索一点,我发现,例如,我在
a3c8d1a
(首次提交)中添加的一些文件在
73768b7
(倒数第二个)上正确地合并了-它们不只是因为还原而在
d522031
上被删除了-而是在
25f28fb
上消失了(最后一个)

编辑2:
我认为问题在于fork不同步(当我接受他的PR并恢复它时,他没有git pull/merge)。我怎样才能防止这种情况发生?
(为了“修复”它,我必须仔细挑选丢失的所有提交。

如果还原合并提交,则需要先还原还原,然后才能再次合并分支

见:


您可以从您的存储库中为我们提供
git日志--graph--oneline--decoration--all
吗?还有很多其他提交,我将尝试清理一下!仅仅是最后10次承诺就足以更好地了解情况。只需在上一个命令中添加
-10
。刚刚更新了我的帖子,希望这足够清楚。我认为问题是因为fork不同步(当我接受他的PR并还原它时,他没有
git pull
/
merge
)。我怎样才能避免呢?(顺便说一下,要“修复”它,我必须仔细挑选所有丢失的提交文件……)这就是我所害怕的。所以,当你有一个公共回购,你真的必须小心,我想。谢谢