Git分支合并到master的方法 - 极悦
首页 课程 师资 教程 报名

Git分支合并到master的方法

  • 2022-06-08 10:32:42
  • 4896次 极悦

git 最强大的功能之一是分支创建和合并操作。Git 允许用户创建一个新分支并将它们合并到开发代码中。此功能通过鼓励更具体、更小和更精细的任务来改进多个项目的开发流程工作流。

在本教程文章中,我们将讨论将 git 功能分支合并到 master 的方法。

git 的主要优点是它的分支系统。GIT 的所有魔力都在这些分支上!主分支将携带所做的所有修改。因此,目标不是直接在这个分支上进行修改,而是在其他分支上进行修改,并经过各种测试,将它们集成到主分支上。

merge使用Git中的方法将分支合并到master

其merge目的是合并feature和master分支到保留所有相关分支内容的提交。Git 实现了这一点,即所谓的merge commit. 这也意味着merge操纵多个分支。

当分支已经分歧时,即一个不是另一个的祖先。Git 可以通过进行具有多个父项的新附加提交来实现合并。在下图中,如果您在不同的分支中有一个提交D和一个提交F,并且混合了这些分支(通过git merge),则结果是一个提交G,其父项是Band E。

A --- B --- C --- D ---	
  \				         \  
    \					  G  ← master
      E --- F --------- /	

在上图中,G是一个新创建的提交,完全由 git 创建。这个提交有两个父母!他们有一个命令:

第一个父母是D,这是master以前的。

第二个父母是F,这是feature-1以前的。

这种类型的提交称为合并提交。

现在切换回我们的存储库示例并将新创建的feature-1分支合并到master

首先,检查主分支。

$ git checkout master

现在,将远程 master 更改拉到本地master。

$ git pull origin master
From github.com:repo/demorepo
 * branch            master     -> FETCH_HEAD
   Updating 17cc6b4..a802b6b
   Fast-forward
    file1.txt | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

之后,使用以下命令将功能分支合并feature-1到当前活动的分支。

$ git merge feature-1

如果此步骤成功完成,分支将与分支完全feature-1合并。master但是,如果 git 无法自动解决这些合并冲突,它将失败并出现合并冲突错误。

这是一个非常典型的场景;当两个分支修改文件的同一部分并且 git 无法解析要使用的部分时,可能会发生这种情况。这正是我们的示例所发生的。这种情况通过 git 如下所示。

Auto-merging file1.txt
CONFLICT (content): Merge conflict in file1.txt
Automatic merge failed; fix conflicts and then commit the result.

每当 git 遇到冲突时,它会添加<<<<<<<&=======以突出显示导致冲突的部分,这需要手动解决。

一旦决定将哪个部分保留在文件的最终主版本中,个人必须删除不相关的代码(包括冲突指示符)。最后,将更改推送到远程分支,如下所示。

$ git add .
$ git commit -am "resolving the mergeconflict"
[master 1acce69] resolving the mergeconflict
$ git push

这样feature-1分支成功合并到远程master。

接下来,我们将使用以下命令再次验证分支历史记录。

git log --all --decorate --oneline --graph

我们可以验证 gitmerge已经创建了一个Merge Commitwith commit-id1acce69来合并feature-1分支origin/master。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交