Gitlab使用规范

匿名 (未验证) 提交于 2019-12-03 00:19:01

项目组GitLab使用规范

MasterDeveloper。主仓库中受保护的分支只有Master成员可以处理代码合并Merge Request和push。

:位于服务器上代码主仓库,常驻分支master和hotfix,分支均受保护,只有从开发者个人远程仓库发起Merge Request(下文简称MR)才可以进行代码更新。

:由MAIN fork而来,位于服务器上个人项目下。

:由开发人员从ORIGIN clone而来,位于本地,用于代码开发。后续通过pull/push操作保持LOCAL与ORIGIN的同步。同时,在LOCAL中设置upstream为MAIN,然后通过fetch upstream来获取MAIN的代码。

  1. Master新建代码主仓库MAIN、添加项目成员。
  2. Developer从主仓库fork一份到自己的个人远程仓库ORIGIN。
  3. Developer从个人远程仓库clone代码到本地,建立本地仓库,同时将主仓库MAIN设置为本地仓库LOCAL的upstream
  4. 在本地仓库进行开发,需要提交代码时,按照如下步骤:

Commit:提交代码到本地仓库

Fetch:获取主仓库的更新,同步到个人本地仓库

Merge:合并主仓库的代码和本地的开发代码。代码会自动合并,但如果有冲突,需手动合并代码解决冲突

Push:提交代码到个人远程仓库

Merge Request:在GitLab的个人主页,发起Merge Request请求将个人远程仓库代码合并到主仓库的对应分支

5.处理Merge Request请求,进行code review。如果一切正常,最终合并到主仓库,打Tag上线。如果有问题,则拒绝Merge Request,要求修改。

  1. Master合并主仓库的master分支的v0.1至hotfix分支。
  2. Developer成员拉取主仓库的hotfix分支,按照代码开发的步骤4进行开发。修复完成后提交代码并发起merge request,请求合并个人远程仓库的hotfix分支至主仓库的hotfix分支
  3. Master成员处理Merge Request请求,进行code review,最终合并hotfix分支至master分支

git clone git@gitlab.aa.com.cn:012829/test.git

## Commit message需要注意规范,详见下一节
#XYPJ-1111# message example”

## 建立本地仓库时,设置本地仓库的upstream为主仓库
git remote add upstream git@gitlab.aa.com.cn:cams/test.git
## 查看remote信息
v
## 结果类似如下:
/test.git (fetch)
/test.git (push)
/test.git (fetch)
/test.git (push)
## 之后代码开发时的操作
## fetch主仓库代码到本地(只是获取,还未合并)
git fetch upstream
##本地代码切换到master分支(如果已经在master分支就跳过这一步),然后合并主仓库的master分支到本地的master分支
git checkout master
git merge upstream/master
## 提到代码到个人远程仓库
git push origin master
## 注意:如果是bug修复,则以上fetch/merge/push都是hotfix分支


commit message必须是“#XYPJ-2199# corrent commit message example”格式,与之前SVN代码提交时一样。

Author必须是K开头的或者0开头的,务必设置git的user.name为工号(git config --global user.name "012829")

http://wiki.aa.com.cn/pages/viewpage.action?pageId=22275447

##修改最近一次commit的author
git commit --amend --author="012829<wangbin012829@htsc.com>"
##修改最近一次commit的commit message
"#XYPJ-2179#初始化SV代码仓库"

  • 注意与主仓库的同步,保持一定的fetch频率。防止出现长时间不同步而冲突严重的情况。
  • 如果发起MR时发现有冲突,可自己撤回手动解决冲突后再重新发起。
  • 向主仓库发起MR不要过于频繁,一般以JIRA中一个任务为单位,任务完成提交代码并向主仓库发起MR

《Git基本教程》:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

《Git常用命令》:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

尤其要重视分支和远程仓库这两个概念

《分支管理》:http://www.ruanyifeng.com/blog/2012/07/git.html

《远程仓库操作》:http://www.ruanyifeng.com/blog/2014/06/git_remote.html

文章来源: Gitlab使用规范
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!