2013-03-25 68 views
3

我对这个GitHub库工作:https://github.com/Sable/mclab的Git合并了问题,奇怪的历史

的开发分支的历史是一个有点靠不住。事情是这样的:

现在的历史很奇怪, https://github.com/Sable/mclab/commits/develop?page=58;你可以看到从2008年开始的第一次提交,然后是1970年提交的提交,紧接着(在下一页),更近的提交应该在历史的最后。

所以我有两个问题:

  1. 到底发生了什么?我猜测合并在1970年的承诺中被搞砸了,但我不确定。
  2. 什么是“修复”事情的最佳方式?我知道你不能真正撤消推动;我基本上喜欢历史上的发展,看看它发生之前的方式。我可以在回购中做出奇怪的手术来实现这一点。

回答

1

这是我想通了。

合并进行得很好 - 合并不依赖于时间戳(例如,git log --date-order显示明智的顺序)。但历史看起来很奇怪,因为时间戳决定了(除其他之外)默认顺序提交显示在git log中,显然是GitHub中的提交比较视图。

这是我做过什么:

  • 开始与我develop分支从之前的合并发生(它确实有1970年提交)。
  • 根据develop创建了一个新分支。
  • 运行在开发git reset --hard,返回到第1970父提交
  • 重订新的分支交互到开发,选择“编辑”为它的日期我想改变和选择合理的日期为他们
  • 所有提交
  • 删除开发分公司在github
  • 推动了新的发展分支github上

这似乎已经工作得很好,虽然我不得不教导人们要拉前小心(或复制新的回购,或重置回我在reba之前做过同样的承诺唱)。