如何将最新的变更从开发分支转移到我当前的分支

时间:2018-08-31 01:13:18

标签: git

我们在下面的分支机构工作。

master
dev
person A
person B

我们俩都在分支机构上工作,即person Aperson B(在同一个项目上工作)。 person A完成工作后,他将更改提交给分支机构,然后创建拉取请求以将更改合并到dev中,其他人B会查看并批准。批准后,更改将保存在dev中。

B如何执行Adev到分支person B的最新更改。我们正在使用github desktop进行所有的git push / pull,但也乐于学习命令。谢谢。

2 个答案:

答案 0 :(得分:3)

尽管使用命令行界面,但这些是我要做的步骤。

  1. 结帐开发分支(git checkout dev)
  2. 获取最新的dev分支(git pull)
  3. 结帐分支B(git结帐B)
  4. 将开发分支合并到分支B(git merge dev)

您可以使用github桌面执行以下步骤。

答案 1 :(得分:3)

在人员A将更改推送到dev之后,让人员b将这些更改放入其分支b中,这是一个好习惯。这样一来,b人就可以处理最新的代码,并且最终合并到dev很容易。

选项1,拉动

  1. 将所有更改提交到分支feature_branch(git状态显示clean
  2. git checkout dev
  3. git pull-将更改提取到计算机b ,并将这些更改合并到本地分支b中。此操作通常应为“快进”(这样就不会发生合并冲突)
  4. git checkout feature_branch
  5. git merge develop-合并从b的本地devfeature_branch的更改。
  6. git mergetool-解决冲突
  7. git commit ...-提交合并

使用此选项,b的本地devfeature_branch都有最新的更改。

选项2,提取

  1. 将所有更改提交到分支feature_branch(git状态显示clean
  2. git fetch origin dev-将最新更改下载到dev,但将其合并到本地dev
  3. git merge origin/dev-合并从下载的dev版本到feature_branch的更改。

在这种情况下,b的本地feature_branch将具有dev 的最新更改,因为它们位于删除仓库中 及其本地{{ 1}}将不会有这些更改。没关系,因为b不在dev上工作,他正在dev上工作。


我喜欢选项2,因为我不需要结帐feature_branch,但是两个选项都正确。