gitlab多人協作開發分支控制

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容