2

所以,我们有 master 和分支 X,它与 master 是最新的,还有一些提交。

我已经改变了 master 的基础,改变了历史 - 压缩了一些提交,改写了其他的。

然后,我尝试用 master 重新设置分支 X 的基础 - 似乎改写词不会进入分支 X - 它们仍然是旧的提交消息 - 我如何更新分支 Xs 提交历史以匹配 master?

(顺便说一句,壁球和修复变基似乎很好,它似乎只是改写)。

4

1 回答 1

1

如果你重新设置你的 master,branch-X 不再是最新的 master。我认为解决这个问题的最简单方法是使用 git cherry-pick。

  1. 从master创建一个新分支,git checkout -b branch-Y master
  2. git cherry-pick <sha>对于您需要从 branch-X 提交的每个提交
  3. 您可以删除分支-X 并将分支-Y 重命名为分支-Xgit branch -f branch-X branch-Y; git checkout branch-X; git branch -D branch-Y

我还建议在广泛使用它之前阅读更多关于 rebase 的内容:Git rebase or merge

于 2012-11-29T13:40:39.137 回答