我的存储库中有这样的历史:
现在我想修复那些我的合作伙伴没有正确创作的3次提交,我已经在使用this答案作为指南之前完成了这项工作。所以既然我想改变那些3,我想我会在git rebase -i face866
重新定义,所以我跑
fcc7a9b
但奇怪的是,这是我遇到的提交列表
2459b01
,2f805cd
,18bc0ad
都有意义,但git push --force
在哪里?为什么从7天前提交的所有提交都被删除了?从11天前的提交继续但,它们都有不同的标签吗?
更奇怪的是,如果我在Github的应用程序中打开回购,它说我的历史是:
缺少提交。这里发生了什么?提交列表对我没有任何意义,并且应用程序的历史记录错误。我对发生的事情只有一个想法
答案 0 :(得分:2)
git rebase
会在合并提交18bc0ad
之前线性化您的提交历史记录。这就是它失踪的原因。 git rebase
有一个你可能知道的--preserve-merges
开关,但我建议against using it。
在你的情况下,我会说保持历史原样是最好的。根据我的经验,否则你可能会陷入非常痛苦的境地。如果你想尝试,你可以启动rebase,或者当有太多的冲突需要解决时,可以git rebase --abort
。