GIT rebase 提交到顶部和底部

Posted

技术标签:

【中文标题】GIT rebase 提交到顶部和底部【英文标题】:GIT rebase commits to top and bottom 【发布时间】:2021-04-02 04:15:36 【问题描述】:

我有 3 个分支。 A、B 和 X

    A has a commit - commit A
    B has a commit - commit B
    X has a commit - commit X

我想将 A 和 B 变基为 X

     A branch's commit should be top of X branch's commit
     B branch's commit should be bottom of X branch's commit 

最终的提交日志应该如下所示

    commit A
    commit X
    commit B

请解释一下我可以得到上述最终结果的步骤

【问题讨论】:

你已经尝试了什么?在B 分支上创建一个分支C,使用交互式rebase 重新排序提交,将分支BX 分别重置为CC~1,删除分支C,这样就完成了。 分支是否有共同的祖先? @fluffy 我签出了分支 X,然后运行 ​​'git rebase origin/B' 然后 B 的提交到达 X 提交的底部。有任何像这样的简单命令可以让 A 的提交在 X 的提交之上? @j6t 是的,所有分支都来自同一个主/主分支 【参考方案1】:

假设main 是共同祖先,我会用git cherry-pick 而不是git rebase 这样做:

git checkout B
git cherry-pick main..X
git branch -f X
git cherry-pick main..A
git branch -f A

无论每个分支仅包含一个提交还是多个提交,这些都有效。如果XA 中只有一个提交,您可以删除main.. 部分。

【讨论】:

以上是关于GIT rebase 提交到顶部和底部的主要内容,如果未能解决你的问题,请参考以下文章

ScrollView监听滑动到顶部和底部的方法

Videojs requestPictureInPicture() 在滚动到顶部和底部时只工作一次

关于ivx监听小程序滑动到顶部和底部的经验总结

最简单的用jquery实现动画的跳到顶部和底部

Js判断H5上下滑动方向及滑动到顶部和底部判断

如何在像 snapchat 故事一样从底部滑动到顶部 android 时打开底部工作表片段