×
广告

gitlab多人协作开发分支控制

96
勇不言弃92
2017.03.29 09:57* 字数 848

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


image
image

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

image
image

image
image

image
image

2、初始化项目

执行下面命令

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

image
image

4、开发

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

git clone git@255.255.255.255:XXXXXX/XXXXXX.git

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

cd XXXXXX

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

//主干
git checkout master
//分支
git checkout branch/0111

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

定位到clone的项目文件夹

cd XXXXXX

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

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

-------------------------------------------------------------------------

-

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

-

-------------------------------------------------------------------------

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

image
image

image
image

image
image

2、初始化项目

执行下面命令

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

image
image

3.2、开发人员分支

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

4、开发

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

git clone git@255.255.255.255:XXXXXX/XXXXXX.git

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

cd XXXXXX

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

//主干
git checkout master
//开发分支
git checkout develop
//创建开发者自身分支
git checkout -b develop_ly

4.2、开发以及提交

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

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

定位到clone的项目文件夹

cd XXXXXX

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

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

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

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

随笔
Web note ad 1