当分支 A 在 GIT 中合并到分支 B 时,将提交从本地分支 A 推送到分支 B

Posted

技术标签:

【中文标题】当分支 A 在 GIT 中合并到分支 B 时,将提交从本地分支 A 推送到分支 B【英文标题】:Push commit from local branch A to branch B when branch A was merged to branch B in GIT 【发布时间】:2016-03-07 05:20:52 【问题描述】:

情况几乎在标题中描述:

    我有分支 A 和分支 B 分支 A 合并到分支 B 我在本地提交到分支 A

如何将本地提交从分支 A 移动到分支 B 而不会丢失它们?

【问题讨论】:

你搞定了吗? 是的,我从本地文件创建了新分支,推送它然后合并。问题是关于 git 中的一些“移动工具”,像一些数据块一样“移动”提交。也许这很奇怪,但我一直在寻找。 【参考方案1】:

将分支视为指向提交的指针,因为事实上它们就是这样。

它们之前被合并的事实并没有改变任何东西:A 的指针在第 2 步期间指向合并提交,在第 3 步期间它移动到指向新提交。同时 B 的指针仍然指向最新的 B 提交(合并之前的那个)。

现在您想让 B 的指针指向与 A 相同的提交。您可以通过 2 种方式进行操作,一种方式是:

git checkout B
git merge A

这将通过fast-forwarding B 指向 A 所在位置的指针获取 A 的更改。

另一种方法是结帐到 A 并将 B 重置为 A,但如果您不完全了解发生了什么,我真的不建议您这样做。

【讨论】:

以上是关于当分支 A 在 GIT 中合并到分支 B 时,将提交从本地分支 A 推送到分支 B的主要内容,如果未能解决你的问题,请参考以下文章

Git章鱼多个分支的合并顺序

GIT(实验室)。在合并请求中从一个分支创建分支

git入门:创建合并分支 解决冲突 分支管理策略

防止 Git 快进自动合并

git如何解决冲突(代码托管在coding)

Git 合并远程分支