目录
4.在远程仓库上创建不同组员分支和主要分支:【组长或组员完成】
5.2.2 组长张三拉取远程ls分支的最新代码合并到本地的dev中
开发项目总体使用git流程
前置条件:
1.项目团队为多人(本开发项目使用git流程案例为3人团队)
2. gitee平台上有一个代码仓库,用于存储项目代码
3. 仓库中有不同人的分支,外加一个主要分支dev(3人分支+dev分支=4个分支)
流程:
1.首先我们团队有3人(张三,李四,王五),分别对应三个分支(分支名称:zs,ls,ww)
2.这3个人当中有一个是项目组组长(张三),组长是用来操作主要分支和自己的分支,也就是dev分支与zs分支,其余人操作各自的分支就行,组长负责自己的分支,与dev分支
3.dev分支作用用于合并不同组员开发的不同功能代码,也就是最新代码
4.一开是不同组员都在开发不同的功能代码,当第一个组员(李四)开发完成后,先将dev最新代码拉取到(pull)李四本地的分支上(ls)来保证自己的代码是最新的,然后再将代码提交到自己的远程分支(ls)上【本地分支与远程分支(gitee平台上的分支)】 (组员做的事情)
5.这时候组员(李四)告诉组长(张三),我的功能已经开发完成了,组长(张三)知道了后,切换到主要分支(dev)分支,将张三的分支(zs) 拉取到(pull)dev上,这时候的dev是最新的代码,接着如果有其他组员需要提交一定先从远程dev获取最新代码在进行提交(组长要做的事情)
图解流程
1.创建项目仓库[组长完成]
2. 创建项目,并进行绑定远程仓库【组长完成】
3.将项目与远程仓库(gitee)进行绑定
3.1 创建本地的git仓库
3.2 将项目添加到缓存区
3.3 将项目提交到本地仓库,并推送到远程仓库上
查看远程仓库:(刷新)
远程仓库绑定成功
4.在远程仓库上创建不同组员分支和主要分支:【组长或组员完成】
4.1 创建主要分支(dev):
4.2 创建小组成员的分支(zs【张三】,ls【李四】,ww【王五】)
组长张三分支(zs):
组员李四分支(ls):
组员王五分支(ww):
返回仓库查看分支:
远程仓库创建分支完成
5. 提交代码的流程
前面已经把一个准备工作完成了,现在演示不同组员开发完成之后的一个流程
5.1 组员李四的开发流程
5.1.1 首先更新项目将分支更新一下
更新发现现在有了远程创建的所有分支
5.1.2 切换到李四的分支(ls)
只需要操作自己的分支 :【组员】
1.【组员】是谁,就需要切换自己的分支,比如:李四就切换到ls自己的分支,王五就切换到王五自己的分支,组员只需要操作自己的分支就可以了
操作两个分支,自己的分支和dev分支: 【组长】
2. 【组长】就需要操作两个分支了,因为组长需要将组员开发的代码合并到dev分支,也就是主要分支,来保证其他组员包括自己的代码在开发完成后,能够获取最新的代码,组长也有自己的分支,比如张三是组长,他也也要开发项目,所以张三也要操作zs这个分支,但是他还有一个职责就是合并其他组员开发后的代码,而dev是最新代码的分支,所以要将其他组员开发过后的代码合并到dev分支上,张三就还要操作dev分支
总结: 组员只需要操作自己的分支,组长需要操作自己的分支和dev分支
5.1.3 组员李四进行一个项目开发
创建controller包,并创建一个类LiSiController
5.1.4 将自己的代码提交到主要分支(dev)
假设组员李四已经完成了开发,现在就要提交代码到远程分支
提交步骤: [李四组员的提交]
1. 首先将李四自己开发的代码提交到本地暂存区
2. 从dev获取最新代码,更新到李四自己的分支(不管dev有没有新代码【强制】)
3. 最后将李四自己开发的代码提交到本地仓库,并提交到远程仓库
总体流程:
组员李四开发代码完成---------->将代码提交到本地仓库的暂存区------------------>从远程dev分支获取最新代码合并到ls自己的分支----------------->提交代码到本地仓库ls分支上,并将代码提交到远程仓库ls分支上
1. 首先将李四自己开发的代码提交到本地暂存区
2. 从远程dev获取最新代码,更新到李四自己的本地ls分支上(不管远程dev有没有新代码【强制】)
不管远程dev有没有最新的代码,都pull一下,这样可以保证不会出错
这里是从远程dev 分支获取最新代码:
3. 最后将李四自己开发的代码提交到本地仓库ls分支上,并提交到远程仓库ls分支上
查看一下远程仓库:
查看一下本地仓库的提交:
这个时候组员李四一个操作流程就ok了,他只需要将自己的代码提交到本地仓库,在将自己的代码提交远程自己的分支就行了,组员李四在告诉一下组长,自己已经提交了新的功能,让组长合并一下最新代码到dev,合并完成了之后,其他组员如果开发完成了,则先提交自己的代码到本地的暂存区,然后从【远程】dev拉取最新代码到组员自己的分支上,最后在提交到dev分支,整体都是这样一个流程
组员李四提交完成!!!
5.2 组长张三合并分支
上面组员李四提交自己的代码到远程分支ls上,但远程dev并没有组员李四最新的代码,这个时候组长张三就需要将这个远程ls分支中的代码合并到远程dev分支上,来保证其他组员可以获取最新的代码
5.2.1 组长张三切换到dev分支
发现并没有组员李四提交的最新代码:
5.2.2 组长张三拉取远程ls分支的最新代码合并到本地的dev中
上面本地的dev已经有了李四开发后的最新代码了,但是这最新的代码只是存在本地上,远程仓库的dev分支还并没有李四开发后的最新代码,所以其他组员并不能拉取最新的代码,我们需要将这个最新的代码推送到远程dev分支上
5.2.3 将本地dev分支推送到远程dev分支
查看远程dev分支:
远程分支记录是不是有李四的提交记录了
当组长合并代码完成后就可以不用管dev分支了,在切回组长自己的分支zs继续开发代码
5.2.4 其他组员拉取最新代码
组员王五拉取最新代码,先切换ww分支
从远程dev分支获取最新代码到本地ww分支
本地ww分支有了其他组员开发的最新代码了
最后总结:
1. 组长操作两个分支,一个是自己的分支,一个是dev分支,自己的分支用于开发代码,dev分支用于合并其他组员远程分支上的代码包括自己的远程分支上的代码,但这时候的合并只是合并到本地的dev分支上,接着要将合并好的本地dev分支推送到远程的dev分支上,这样组员才能从远程的dev拉取最新的代码到自己的本地分支上
2. 组员操作1个分支,先从远程dev分支获取最新代码合并到自己的本地分支上,然后在提交本地分支和远程分支就可以了