2013-03-25 65 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之前做過同樣的承諾唱)。