经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » Git » 查看文章
git合并分支
来源:cnblogs  作者:南风丶丶  时间:2024/3/25 8:53:27  对本文有异议

前言

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

1.新建分支

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

  1. git checkout -b dev_1_1_0_lxj
  2. git push --set-upstream origin dev_1_1_0_lxj
  3. 编写代码。创建新文件main.py,写了一个两数相乘的程序
  4. git add .
  5. git commt -m "feat:两数相乘"
  6. git push

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

  1. git checkout -b dev_1_1_0_gc
  2. git push --set-upstream origin dev_1_1_0_gc
  3. 编写代码。创建新文件main.py,写了一个三数相乘的程序
  4. git add .
  5. git commt -m "feat:三数相乘"
  6. git push

2.合并分支

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

  1. git checkout master
  2. git merge origin/dev_1_1_0_lxj
  3. git push

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

  1. git checkout master
  2. git merge origin/dev_1_1_0_gc

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

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

  1. <<<<<<< HEAD
  2. 本地代码
  3. =======
  4. 拉下来的代码
  5. >>>>>>>

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

  1. git add .
  2. git commit -m "feat:合并冲突"
  3. git push

3.总结

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

原文链接:https://www.cnblogs.com/xinjieli/p/18092752

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号