2012-11-29 54 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