git合并分支

前言

多人协作开发的时候,需要对项目代码做版本管理。大家做新版本的开发,需要基于上一个版本新建一个自己的开发分支,自己开发分支的程序测试通过后,就要合到线上的分支以供发版,在合并分支的时候可能会有冲突,那么需要解决冲突后提交合并的代码。本篇教程主要讲解使用git merge来进行分支合并,git rebase也可以做分支合并,本教程先不讲,git merge在合并分支时可以保留子分支的commit记录,下面就来实际地演示如何合并分支:

1.新建分支

开发人员lxj,基于master分支新建了自己的开发分支dev_1_1_0_lxj,并且在该分支上进行了开发并提交了代码,以下是他的操作步骤:

① git checkout -b dev_1_1_0_lxj

② git push --set-upstream origin dev_1_1_0_lxj

③ 编写代码。创建新文件main.py,写了一个两数相乘的程序

④ git add .

⑤ git commt -m "feat:两数相乘"

⑥ git push

开发人员gc,基于master分支新建了自己的开发分支dev_1_1_0_gc,并且在该分支上进行了开发并提交了代码,以下是他的操作步骤:

① git checkout -b dev_1_1_0_gc

② git push --set-upstream origin dev_1_1_0_gc

③ 编写代码。创建新文件main.py,写了一个三数相乘的程序

④ git add .

⑤ git commt -m "feat:三数相乘"

⑥ git push

2.合并分支

首先,将dev_1_1_0_lxj合并到master分支上,以下是操作步骤:

①git checkout master

②git merge origin/dev_1_1_0_lxj

③git push

然后,将dev_1_1_0_gc合并到master分支上,以下是操作步骤:

①git checkout master

②git merge origin/dev_1_1_0_gc

在执行合并命令git merge origin/dev_1_1_0_gc的时候,由于lxj和gc都编辑了main.py文件中同一行的代码,所以合并分支失败,需要解决冲突,然后提交代码,下面是报的冲突信息:

同时,在编译器Pycharm中,main.py也是报红的状态,如下图所示,下面对冲突中哪部分是谁的代码做了说明。在这种情况下,需要和其他开发人员核对一下,确定要保留下来的代码是哪些,别把别人有用的代码删了!!!

<<<<<<< HEAD
本地代码
=======
拉下来的代码
>>>>>>>

确定了要保留的代码后,如下图所示,需要提交合并后的代码,以下是操作步骤:

①git add .

②git commit -m "feat:合并冲突"

③git push

3.总结

以上就是多人协作开发时,需要进行分支合并的操作流程,本教程Demo地址。学会分支合并方便项目的版本控制。后面一期,我会出一个git的进阶教程,git cherry-pick的使用,用于"挑拣"提交,当我们不想把本地的整个分支进行合并时,就可以使用git cherry-pick将某几次提交合入到本地分支上。