在合并开发/母版之前需要更新git分支吗?

Sha*_*ggy 3 git git-merge

考虑一个场景,在该场景中,我已经从母版创建了一个名为“功能1”的分支。我的朋友还从母公司创建了一个名为“功能2”的分支。他完成了代码更改,并将“功能2”分支合并回master。

现在,我已经在“功能1”分支中完成了更改,并希望合并回master(自从分支分支以来已更新)。在将“功能1”合并到母版之前,是否需要拉/变基,还是git可以处理?

And*_*erg 5

在将功能分支合并到主分支之前,无需更新主分支。但是,这不是最佳实践。您最好执行以下操作:

  1. 拉主分支,并确保它与您的遥控器是最新的。
  2. 将主分支合并/重新设置为功能分支
  3. 修复任何合并冲突
  4. 将功能分支合并到母版中

这样,将确保您的提交是历史记录中的最新提交,并且所有合并冲突都在功能分支(而不是主分支)上进行处理。这样可以使您的主分支保持干净,历史记录也保持清洁。使用您的仓库的其他人会很高兴。

命令将如下所示:

  1. git checkout主
  2. git pull --rebase原始主机
  3. git checkout功能1
  4. git rebase master
  5. 解决任何冲突
  6. git checkout主
  7. git rebase feature1 //将重新设置为无冲突,因为您之前已修复了它们。

要详细说明每个命令将执行的操作:

  1. 跳至master已过时的版本
  2. 从仓库和更新中提取更改master,应用任何本地更改master都放在最上面(如果您使用分支进行编辑,则无此操作)
  3. 跳回到feature1仍基于过时的“主人”的分支
  4. feature1在上应用更改master,该更改已在#2中更新
  5. 解决冲突
  6. 跳回master,已更新,但仍然没有feature1更改
  7. master更改应用在之上feature1,但是由于feature1是master的直接子代,因此只需使用feature1的更改再次更新master
  8. 在这里,您应该考虑git push“发布”所做的更改以将主版本存储到仓库中