2012-11-29 55 views
2

因此,我們擁有master和master X的分支機構X以及更多的提交。git rebasing commit歷史記錄未被拉入分支機構

我已經重新定位了主人,改變了歷史 - 擠壓了一些提交,改寫了其他人。

然後我嘗試用master來重新分支X - 看起來rewords不會碰到分支X - 它們仍然是舊的提交消息 - 我如何更新分支Xs提交歷史記錄以匹配master?

(順便說一句,它似乎是南瓜和修復基地罰款,它似乎是rewords)。

+0

能否詳細解釋一下命令的順序 用過的。一切從你如何改造主,到你爲X分支所做的一切。我最近不得不改變主人,相信我會痛苦。 – eddiemoya

回答

1

如果您重新命名了主人,則分支X不再與主人約會。我認爲最簡單的方法是使用git cherry-pick。

  1. 建立從主一個新的分支,git checkout -b branch-Y master
  2. git cherry-pick <sha>每個承諾,你從分支-X
  3. 可以刪除分支-X和重命名分支-Y需要分支-X git branch -f branch-X branch-Y; git checkout branch-X; git branch -D branch-Y

我還建議在廣泛使用前閱讀更多關於rebase的信息:Git rebase or merge

+0

我需要從分支X提交所有提交。我的問題是,當我用master重新分支分支X時,在主分支中重寫的提交不會在分支X中生效。 閱讀文檔時,--merge選項應採用請注意重命名的提交,但它似乎不起作用。 – user1658217