git实战-多分支开发-2022新项目
现在开发中大多数公司中都在使用Git这个代码版本管理工具,几乎可以说是已经成为标配,刚入职不久的这家新公司也不例外。
去公司没多久,开始搭建项目,然后创建开发分支,有多少个后端人员就创建多少个开发分支,每个人都在自己的分支上进行开发。
如上图所示:我们假设有四个开发人员鸣人、佐助、雏田、小樱,首先创建一个主要的开发分支 bigstuff-release-V1,然后根据 bigstuff-release-V1这个分支在创建
四个分支分别给四个开发人员使用,以每个人的名字缩写作为分支的后缀。每个人的代码都提交到自己的分支上面,并且是以 bigstuff-release-V1这个分支为主线,部署
代码的时候,也是部署在这个分支上面。日常开发的时候,作为普通的开发人员鸣人,需要对git操作的事情就三件:.a.提交本地代码到自己的开发分支bigstuff-release-V1-mr
上面;.b.将bigstuff-release-V1分支上面的代码合并到自己的分支bigstuff-release-V1-mr上面;.c.将bigstuff-release-V1-mr分支上面的代码合并到bigstuff-release-V1-mr分支上,
下面分别讲解。
操作一:提交本地代码到自己的开发分支bigstuff-release-V1-mr
首先需要拉取分支上的代码,方式可以使用命令行,使用git clone 代码地址 的方式或者使用IDEA的方式进行拉取,看个人的喜好。本人是使用IDEA的方式进行拉取,如果
使用IDEA打开某个项目时,没有显示VCS这个菜单栏,则可以新建一个空的项目,这个菜单就会显示出来,然后按照下面的操作即可。第一次拉取一般需要输入git的账号和密码。
添加Git代码的地址,选择好对应的目录即可。
拉取代码后,IDEA右下角会显示当前对应的分支版本,如下图所示(只是举例,真实开发环境为内网,不让截图)
拉取代码后,下一步操作就是切换到自己的分支,使用命令行操作或者IDEA操作都可以,看个人喜好,本人是使用IDEA操作.
拉取鸣人自己分支bigstuff-release-V1-mr上最新代码的操作方式如下,
需要选择一个分支,然后拉取代码.
提交代码的方式方式如下,在IDEA的右上角有一个打钩的图标,点击它即可,同样,使用命令行操作也可以,看个人喜好。
会显示如下信息,让自己选择需要提交的文件,不同的IDEA显示方式会不一样。这里需要注意,在选择需要提交的文件时,不要提交一些没用的文件,
如IDEA配置文件iml。提交信息是一定要添加的,这是个好习惯,写一个简单的描述这次提交的代码做了什么事情,然后点击提交即可。
最后一步是push代码,即是真正的提交自己本地的代码到远程分支上面,操作方式如下:
首先选择对应的分支,不要选错了,提交到别人的分支上面去了就尴尬了;其次是选择需要提交的内容;最后点击push即可。至此在自己的分支上的所有操作介绍完毕。
操作二:将bigstuff-release-V1分支上面的代码合并到自己的分支bigstuff-release-V1-mr上面.
开发中需要经常进行的一个操作就是将主要开发分支上bigstuff-release-V1上的代码同步到自己的开发分支上,因为别人可能会对代码进行修改,
同步的方式为使用合并来进行。这种合并方式一般是在本地进行,因为可能会存在代码冲突,冲突需要在本地解决。内网开发不能截图,只有文字说明。
操作钱需要确保自己本地修改的代码已经提交或者是已经备份,避免代码出现问题后自己的修改记录消失。
操作方式为:(1)切换到主开发分支bigstuff-release-V1,切换方式和拉取代码时的切换方式一样,然后拉取主开发分支的最新代码,因为别人可能有代码提交。
(2)将分支切换为自己的开发分支bigstuff-release-V1-mr,执行合并操作。本人是使用命令来进行合并,打开项目的根目录,打开git操作窗口,执行命令
git merge bigstuff-release-V1 意思就是将bigstuff-release-V1分支的代码合并到bigstuff-release-V1-mr分支。如果不想合并,可以撤销合并操作。
(3)这时候IDEA右下角会显示当前的状态为mergeing合并中,如果没有代码冲突,则直接按照操作一的方式来提交代码即可。注意提交记录中会包含bigstuff-release-V1
分支上之前已经提交的记录,不用管它一起提交。
(4)解决冲突。很多情况下可能都会存在冲突的情况,这时候就需要我们手动去解决冲突。存在冲突的文件会显示为红色,可以查询单个冲突文件的详细对比信息,
如是什么地方冲突,然后就是怎么解决。自己一般的解决方式为接受其他人的文件,然后在将自己在文件上的改动手动加上去。
(5)解决冲突后编译一下所有的代码,确保可以正常编译后,再次提交代码,提交方式同操作一中的一样,还是全部记录都进行push。这样就将远程主要的开发分支
的最新代码合并到自己的开发分支上。
參考博文
https://www.cnblogs.com/linjiqin/p/7756164.html
撤销合并代码的操作
https://www.cnblogs.com/wangkongming/p/4164732.html
操作三:将bigstuff-release-V1-mr分支上面的代码合并到bigstuff-release-V1分支上
这一步操作可以在git的后台管理网站中进行,可是需要注意的一点是发起合并请求时,不能存在冲突,如果存在就需要取消合并。以下用gitee上的合并请求说明.
创建新的合并请求,需要选择源分支,然后选择目标分支,意思就是将源分支上面的代码合并到目标分支上。这里的源分支是bigstuff-release-V1-mr分支,
目标分支是bigstuff-release-V1 ,记得填写注释信息和审核人信息。发起合并操作后,等待审核人审核,通过后就自动进行合并了。完成这一步后所有的
操作全部完成。
总结:上面这三步操作基本上包含了在项目中使用Git操作代码的常规方式,学会后就可以应对常规的开发工作。采用这种方式的缺点是,合并代码的
时候会比较麻烦,每一次别人代码有改动都需要进行合并。优点是操作比较规范,每个人基本上都只操作自己的分支,合并代码和解决冲突都是在自己的分
支上进行,这样相对来说也比较好解决冲突问题。不去直接操作主要的开发分支,让主要的开发分支的代码保持是最新的,别人想获取最新代码直接做同样
的操作即可, 减少出错的可能性。如果各位有更好的意见,欢迎留言说明。