在将它合并到develop / master之前是否有必要更新git branch?

时间:2014-05-19 23:57:08

标签: git git-merge

考虑一个场景,我在其中创建了一个名为" Feature 1"的分支。我的朋友还创建了一个名为" Feature 2"的分支。他完成了代码更改并合并了#34;功能2"分支回到主人。

现在我已完成了对#34;功能1和#34;的更改。分支,并希望合并回主人(自从我分支以来已经更新)。在我合并之前我是否需要拉/ /#34;特征1"掌握或是git会处理什么?

1 个答案:

答案 0 :(得分:5)

在将功能分支合并到主分支之前,无需更新主分支。但是,这不是最佳做法。你最好做以下事情:

  1. 拉出主分支,确保它与遥控器保持同步。
  2. 将您的主分支合并/重新绑定到您的功能分支
  3. 修复任何合并冲突
  4. 将您的功能分支合并为主
  5. 这样做将确保您的提交是历史记录中的最新提交,并且任何合并冲突都在功能分支上处理,而不是在主分支上处理。这使您的主分支保持清洁,您的历史更清洁。使用你的回购的其他人会很高兴。

    命令如下所示:

    1. git checkout master
    2. git pull --rebase origin master
    3. git checkout feature1
    4. git rebase master
    5. 修复任何冲突
    6. git checkout master
    7. git rebase feature1 //会因为您之前修复过而没有冲突而自行修改。
    8. 详细说明每个命令的作用:

      1. 跳转到您的master版本,该版本已过时
      2. 从repo中提取更改并更新master,应用任何本地更改master已排在最前面(没有,如果您使用分支进行编辑)
      3. 跳回到仍然基于过时的“主人”的feature1分支
      4. feature1之上应用master更改,已在#2
      5. 中更新
      6. 修复冲突
      7. 跳回master,已更新但仍未进行feature1更改
      8. master之上应用feature1更改,但由于feature1是master的直接子级,因此只需使用feature1更改再次更新master
      9. 在这里,您应该考虑git push将您的更改“发布”到主副本