首页 > 解决方案 > git pull 不更新合并分支的分支

问题描述

我在使用 git 时遇到问题。因此,有一个新的分支(a)已提交审核。在审查期间,创建了另一个分支 (b)。分支 a 被合并到创建 a 和 b 的主分支 dev 中。

现在在分支 b 中,分支 a 中存在一些可以使用的代码。我拉开了 dev 分支,我确实得到了合并的代码。但是当我检查到分支 b 以完成时,那些在分支 a 中并合并到 dev 中的更改不会出现。

我很确定我搞砸了 git 流程。从 dev 分支中创建的分支 b 如何能够将分支 a 的合并更改?

标签: gitgithub

解决方案


这是意料之中的,Git 分支是多人同时处理单个代码库的一种方式。去做这个; 它使用给定时间的代码库状态作为参考。因此,当您的分支b处于dev某个与分支不同的位置时a

以下应该是您创建新分支时分支的样子B(2)

     /------- A ---------
----(1)---- Dev ---(2)-----------------
                     \--------- B -----

现在沿着这条线的某个地方将分支A合并回Dev(3)。所以这应该是分支的样子

     /------- A ----------\
----(1)---- Dev ---(2)----(3)----------------
                     \--------- B -----------

现在,当您在Dev分支上时,它知道A(3) 中的更改,因为它被合并回来了。

但是分支B不知道这一点,因为它Dev在分支A(3) 合并回来之前从 (2) 合并。

要使分支B与 内联Dev,您现在有两个选择。

  1. 合并DevB.git checkout b; git merged dev
  2. 重新定位DevB. git checkout b; git pull --rebase origin dev. 如果你是 git 的菜鸟,不要推荐这个。它有时可能会很快出错。

推荐阅读