Git分布式系统---Gitlab多人工作流程(企业必备技能)

以下文章来源于:公_众_号开源电子网
读取更多技术文章,请扫码关注
在这里插入图片描述

Git分布式系统—Gitlab多人工作流程

在上一次推文中,我们已经很清楚的讲解了如何创建本地仓库、提交(push) 项目到远程仓库以及从远程仓库clone(克隆) 项目到本地的相关操作。大家可以先去看前面的推文(快速掌握Git分布式系统操作)

目前无论你是否步入社会还是在校学生,都会使用 Gitlab 来进行团队的代码管理。(可以这样说:学习嵌入式的,步入社会,公司会强制要求使用Git或者suv来管理代码)Gitlab 是一个基于 git 实现的在线代码仓库软件,一般用于在企业、学校等内部网络搭建一个类似 Github 的网站。在这上面进行多人协作开发。

其实学会了Gitlab,那么其他的在线代码仓库软件都是类似的操作,例如Gitee(国内)、Github(国外)。首先我们看一下Gitlab多人工作流程到底是怎么操作的,如以下图1.1.1所示:
在这里插入图片描述

图1.1.1 Gitlab多人工程流程
看了上述的图,是不是有点懵逼状态,其实也不难,小编就分步讲解这些流程怎么得来的。
在线远程仓库有什么用,这里我们就不必再去讲解了,大家可以前看上一次的推文,已经很详细去讲解了(快速掌握Git分布式系统操作)。
从上述的图,我们可以分为两个部分:一个是管理员(项目负责人),另一个是开发人员。
 管理员(项目负责人):负责创建仓库和合并代码,当然他也可以作为开发人员。
 开发人员:根据实现某个功能编写相应的代码。
注意:无论是管理员以及开发人员必须在在线远程仓库注册账号。

管理员必须掌握的操作流程(不是管理员,了解即可):

首先打开Gitlab网址:https://about.gitlab.com/, (自行注册)
在这里插入图片描述

① 创建仓库对应图1.1.1中的①。
在这里插入图片描述

第一步:填写相关仓库的信息:
在这里插入图片描述

所以我们得到SSH和HTTPS地址:

在这里插入图片描述

第二步:把项目推送到刚刚建立的远程仓库当中:

在这里插入图片描述
在这里插入图片描述
注意:必须在有隐藏文件(.git)的根目录下右键打开Git Bash Here
第三步:刷新Gitlab网页:
在这里插入图片描述

第四步:添加并设置开发人员的权限:

在这里插入图片描述
在这里插入图片描述

开发人员必须掌握的操作流程:

② 将项目 fork 到自己的空间(fork 到自己空间的仓库可以随意修改,除非向项目主仓库提交 MR 并合并,不然不会影响主仓库)对应图1.1.1中的②。
在这里插入图片描述
我们就得到了自己项目的SHH/HTTPS,我们使用SHH/HTTPS克隆(clone)本地即可。

③ 在我们电脑本地创建一个文件夹,我们把项目克隆(clone)到本地当中对应图1.1.1中的③。
使用git clone SSH/HTTPS命令把项目克隆(clone)到本地当中
在这里插入图片描述

④ 创建分支(作为开发人员,最好不要在master修改,最好使用分支修改)对应图1.1.1中的④。
创建分支指令:(自行创建,我们前面的推文已经说到快速掌握Git分布式系统操作)
方法一:

git branck dev  #创建dev分支
git checkout dev #切换到dev分支

方法二:

git checkout -b dev #创建并切换到dev分支

⑤ (我已经实现了功能,想合并)开发自测结束后,将修改提交至本地仓库对应图1.1.1中的⑤。
指令为:

git add .       #添加文件,存放暂存区中
git commit -m “增加xxx新功能”   #提交本地仓库

⑥ 检查上游版本是否有改动,因为我们并不是一个人开发,而是多个人开发,如果在我们之前另外一个开发人员B提交并且与MR 并合并,那么我们的项目并不是最新的,这个能理解吧,所以我们必须检测上游版本和目前自己开发的版本是否一致。对应图1.1.1中的⑥。

git remote add upstream SSH/HTTPS(add upstream 是添加上游地址,即主仓库地址)
git pull upstream master --rebase   

(add upstream 是添加上游地址,即主仓库地址,使用 --rebase 便不会产生 merge commit)
在这里插入图片描述
Current branch dev is up to date(当前的分支开发是最新的)

⑦ 发现有改动(远程仓库项目已经不是最初提交的版本),需要自己手动解决冲突。对应图1.1.1中的⑦。

git add .             #添加文件,存放暂存区中
git rebase –continue  #这样git会继续应用(apply)余下的补丁

注释:git rebase用于把一个分支的修改合并到当前分支

⑧ 没有发现有改动(远程仓库项目是最初提交的版本) 对应图1.1.1中的⑧。
检查 git log 无误,将分支推送至 origin(远程仓库),指令为:
git push origin dev #推送到origin
在这里插入图片描述

⑨ Gitlab 上向主仓库发起 Merge Request(MR),请MR进行 审核:
在这里插入图片描述

  1. (管理员专属操作)若MR 没有提出修改意见,则进入「⑩对应图1.1.1中的⑩」,对应图1.1.1中的⑨

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

git checkout master       #切换到master
git branch -D dev			#切换到dev分支
git push origin :dev		#更新仓库(表示已经删除了该分支)
  1. 若MR 提出修改意见对应图1.1.1中的⑩。
    按照修改意见修改后,执行命令:
git add .                        #添加文件,存放暂存区中
git commit --amend --no-edit    #这次 commit 与上次 commit 合并
git pull upstream master --rebase  #更新本地代码和 origin 代码为最新
git push origin dev -f             #强制合并,推送到origin dev

注释:使用 --amend 将这次 commit 与上次 commit 合并,只保留一条commit 记录,push 的时候使用 -f 是因为修改了分支,需要强制合并。

  1. 更新本地代码和 origin 代码为最新,命令为:
git pull upstream master --rebase #更新本地代码和 origin 代码为最新
git push origin master			  #推送到origin master
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值