Gitlab多人工作流程

基础·Gitlab Flow 工作流程

很多公司都使用 Gitlab 来进行团队的代码管理。Gitlab 是一个基于 git 实现的在线代码仓库软件,一般用于在企业、学校等内部网络搭建一个类似 Github 的网站。在这上面进行多人协作开发就使用 Gitlab flow 工作流程,与 Github flow 有许多相似的地方。

一个典型的开发过程是这样的(假设项目名称为 a,程序员的名字叫 xyz):

「第 1 步」

在 Gitlab 上找到项目主仓库,假设为 fe / a,将其 fork 到自己的空间,变成 xyz / a,然后 clone 到本地进行开发,命令为:

git clone git@git.yourcompanyname.com:xyz/a.git

( fork 到自己空间的仓库可以随意修改,除非向项目主仓库提交 MR 并合并,不然不会影响主仓库)

「第 2 步」

新建分支,在该分支上进行新功能开发,命令为:

git branch feat-xxx
git checkout feat-xxx

「第 3 步」

开发自测结束后,将修改提交至本地仓库, 命令为:

git add .
git commit -m “feat: 增加xxx新功能”

( Commit Message 的规范可以是:新增功能以「feat:」开头,修复 bug 以「fix:」开头,重构以「refactor:」开头)

「第 4 步」

检查上游版本是否有改动,命令为:

git remote add upstream git@git.yourcompanyname.com:fe/a.git
git pull upstream master --rebase

(add upstream 是添加上游地址,即主仓库地址,仅第一次需要;使用 --rebase 便不会产生 merge commit,使 commit 干净清爽)

——若存在代码冲突,则进入「第 a 步」,否则跳过该步。

「第 a 步」

手动解决冲突后,执行命令:

git add .
git rebase --continue

「第 5 步」

检查 git log 无误,将分支推送至 origin,命令为:

git push origin feat-xxx

完成后在 Gitlab 上向主仓库发起 Merge Request(MR),请同事进行 code review。

——若同事对 MR 提出修改意见,则进入「第 b 步」,否则跳过该步。

「第 b 步」

按照修改意见修改后,执行命令:

git add .
git commit --amend --no-edit
git pull upstream master --rebase
git push origin feat-xxx -f

(使用 --amend 将这次 commit 与上次 commit 合并,只留下一条 commit 记录。如果要修改上一条的 message,则使用 git commit --amend -m “xxx”; push 的时候使用 -f 是因为修改了分支,需要强制合并)

「第 6 步」

MR 被通过后,在 Gitlab 上点击 merge,代码会被合并到主仓库。此时可删除本地分支了,命令为:

git checkout master
git branch -D feat-xxx
git push origin :feat-xxx

「第 7 步」

更新本地代码和 origin 代码为最新,命令为:

git pull upstream master --rebase
git push origin master

再次开发则从「第 2 步」开始即可。

原文

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容