gitlab多人协作开发分支控制

"没成功说明不够努力"

Posted by 李勇 on 2017-01-11

master是主干,开发在分支中进行,开发完成后将分支(branch)的代码合并到master,测试master后再打tag。简单起见只需保留一个主干和一个分支,如果需要临时开发一个不确定且耗时的功能(例如微唐项目中的蓝牙功能)则临时从branch中拉出一个feature分支修改后合并到branch中并删除feature分支。
image

1、建立项目&添加协作者

image
image
image

2、初始化项目

执行下面命令

1
2
3
4
5
6
cd existing_folder
git init
git remote add origin git@255.255.255.255:XXXXXX/XXXXXX.git
git add .
git commit -m ‘初始化项目’
git push -u origin master

3、建立分支

按照下图所示建立分支分支名称约束为’branch/XXX’(例如“branch/0111”),“create from”输入 master
image
image
或者使用命令行

1
2
git checkout master//首先定位到某分支或者主干
git checkout -b branchname//创建新的分支

4、开发

4.1、首先创建一个项目名命名的文件夹,将代码clone到此目录中,并选择代码

1
git clone git@255.255.255.255:XXXXXX/XXXXXX.git

然后定位到clone的项目文件夹

1
cd XXXXXX

最后选择checkout主干代码还是分支代码,因为是要开发所以需要checkout分支代码,如果发布版本需要checkout主干代码

1
2
3
4
//主干
git checkout master
//分支
git checkout branch/0111

4.2、开发后合并分支代码到主干

定位到clone的项目文件夹

1
cd XXXXXX

项目切换owner到master,然后执行merge,第二行中的“–no-ff”一定要添加,否则不显示合并的log

1
2
3
git checkout master
git merge --no-ff branch/0111 -m 'xxx'//显示Already up-to-date.说明合并成功
git push origin master//上传主干

————————————————————————-

-

下面这个是内部使用的版本

-

————————————————————————-

1、建立项目&添加协作者

image
image
image

2、初始化项目

执行下面命令

1
2
3
4
5
6
7
8
9
10
11
cd existing_folder
git init
git remote add origin git@255.255.255.255:XXXXXX/XXXXXX.git
git add .
git commit -m ‘初始化项目’
git push -u origin master

3、建立分支

3.1、主分支,每个项目的develop分支为开发分支,master分支为主干分支

按照下图所示建立分支分支名称约束为’develop’,“create from”输入 master
image
image

3.2、开发人员分支

按照上面所示方法建立开发者分支,分支名称约束为develop_name 【例如“develop_ly”或者“develop_wss”,后面加上开发者自己的标示】,“create from”输入 develop,流程与上面所说一样

4、开发

4.1、首先创建一个项目名命名的文件夹,将代码clone到此目录中,并选择代码

1
git clone git@255.255.255.255:XXXXXX/XXXXXX.git

然后定位到clone的项目文件夹

1
cd XXXXXX

最后选择checkout master和develop分支代码,创建开发者分支代码(develop_name),开发分支代码(develop)用来打包测试,如果测试成功则发布版本时需要checkout master代码

1
2
3
4
5
6
//主干
git checkout master
//开发分支
git checkout develop
//创建开发者自身分支
git checkout -b develop_ly

4.2、开发以及提交

获取开发者分支后正常开发以及提交,开发功能结束后,发起一个pull request请求合并,经过审核将代码合并到分支代码(develop)中,测试稳定通过后合并到主干代码(master)中

4.3、开发后合并开发者分支(develop_name)代码到开发分支(develop)

定位到clone的项目文件夹

1
cd XXXXXX

项目切换develop_name到develop,然后执行merge,第二行中的“–no-ff”一定要添加,否则不显示合并的log

1
2
3
git checkout develop
git merge --no-ff develop_name -m 'xxx'//显示Already up-to-date.说明合并成功
git push origin develop//上传分支

4.4、最后测试稳定后将代码合并到主干,下面这一步由代码负责人(身份为master的管理者操作)

1
2
3
git checkout master
git merge --no-ff develop -m 'xxx'//显示Already up-to-date.说明合并成功
git push origin master//上传主干

5 参考资料

git介绍

http://rogerdudler.github.io/git-guide/index.zh.html

git常用命令

http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io