gitlab本地配置_GitLab详细配置使用教程

这篇教程详细介绍了如何在GitLab上进行用户创建、用户组管理、项目创建、SSH KEY配置等操作,包括在Linux、Windows和Mac OS环境下生成SSH KEY的方法,并展示了GitLab的代码上传、拉取、分支管理和ISSUE管理流程。
摘要由CSDN通过智能技术生成

释放双眼,带上耳机,听听看~!

上章节我们介绍了GitLab的简介及部署,这章节开始对GitLab界面操作做个教程,如需了解GitLab简介及部署请参考:https://abcops.cn/gitlab/

创建对象

创建用户

新建用户

输入用户的相关信息

我这边随后又创建了dev1和dev2两个用户

创建用户组

把用户加入到用户组

创建项目

为项目添加用户

把我们刚创建的三个用户加入abcops-project项目中

我把其它两个用户也加入了进来

这里可以看到该项目中的所有用户

修改用户密码

下面可以修改用户的密码及属性信息

最下面有个Save changes保存键,记得保存!!!

然后退出登录,使用我们新建的用户登录,首次登录会让用户修改密码

然后再重新登录

SSH KEY管理

我们新建的用户登录后,开始导入密钥

个人SSH KEY

每个机器上的ssh key是唯一的,一般我们一个账号对应一个开发者,一个开发者对应一台电脑,在开发者的电脑上生成key,然后把开发者电脑生成的key复制到开发者用户的ssh keys中,以下针对Linux、Windows、Mac OX来分别对应不用的用户导入Key

Linux对应dev1用户

Windows对应dev2用户

Mac OS对应leader领导

Linux生成Key

Linux是dev1用户的电脑

作为开发者客户端,肯定是需要使用git来上传代码到gitlab仓库的,我们这里安装下仓库

#yum安装

yum install git -y

#源码安装请参考:https://abcops.cn/git-installation-in-each-position/

#使用ssh-keygen来生成key,下面选项直接回车即可

[root@abcops_node2 /]# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:0Y9Qah2VJ4a82PPrpgc5aG7ubMkEnvwraWyAAiRHxeY root@abcops_node2

The key's randomart image is:

+---[RSA 2048]----+

| ..o. .oo.. |

|... o =o.+ . |

|o. o =ooo o |

|. E ...o+o |

|. . o oS..+. |

|. . . + + + . |

| . o B . o . |

| *.B + |

| o *=..=. |

+----[SHA256]-----+

[root@abcops_node2 /

把生成的公钥导入GitLab用户的ssh key

id_rsa:私钥

id_rsa.pub:公钥

复制以下公钥

Linux的Key就导入完成了

Windows生成Key

Windows对应的用户为dev2

Windows客户端需要通过git客户端来生成ssh key

所以我们要先在windows上安装git客户端

1.下载git的win版本

下载地址:https://git-scm.com/download/win

2.安装git客户端

以下简要说几个关键步骤

3.win git客户端生成ssh key密钥

安装完成后,右键选择git bash或者cmd命令行

同样使用ssh-keygen来生成密钥

生成过之后可以看到密钥在我们当前用户下的.ssh下

查看并复制公钥文件

填入gitlab中dev2用户的ssh key中

Mac OS生成Key

Mac 对应的用户为leader

1.Mac OS安装Git客户端

XuWeiLiang-abcops:~ xuweiliang$ brew info git #查看git信息

XuWeiLiang-abcops:~ xuweiliang$ brew install git -y #安装git

2.Mac生成Key

XuWeiLiang-abcops:~ xuweiliang$ ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/xuweiliang/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /Users/xuweiliang/.ssh/id_rsa.

Your public key has been saved in /Users/xuweiliang/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:VpzhIZiaOtR2gmukGDLeeL7FOVHx+3zd9/u5JTQlvRI xuweiliang@XuWeiLiang-abcops

The key's randomart image is:

+---[RSA 2048]----+

| +. o |

| o o+ + . |

| o o . .= E. o|

|+ + * o .. .o.|

|+*o+ + S. .o. |

|oo=o. o. o .o..|

| .o. = o ...+|

| .. . . .=|

| .. +*|

+----[SHA256]-----+

3.查看公钥并复制到GitLab中

Git上传拉取操作

开发者客户端操作:

1.克隆GitLab中的项目到本地

以下的git@xx是在gitlab的项目中所提供,客户端有两种方式和gitlab建立连接,但是一般我们都是用ssh密钥方式,安全

[root@abcops_node2 /]# git clone git@10.211.55.12:root/abcops-project.git

2.创建代码的一个分支

#首先我们要先进入项目abcops-project路径内

[root@abcops_node2 /]# cd /abcops-project/

#创建一个名叫code的分支

[root@abcops_node2 abcops-project]# git checkout -b code

#查看分支状态

[root@abcops_node2 abcops-project]# git status

3.编写代码

[root@abcops_node2 abcops-project]# echo "

Welocome to abcops

" > index.html

4.提交代码

#全局设置

[root@abcops_node2 abcops-project]# git config --global user.name "dev1" #输入此开发者客户端在gitlab中的用户名

[root@abcops_node2 abcops-project]# git config --global user.email "dev1@abcops.com" #输入此开发者客户端在gitlab中的邮箱

[root@abcops_node2 abcops-project]# git add index.html 或者 git add . #将文件内容添加到索引中,git add .是将当前目录都添加到索引中

[root@abcops_node2 abcops-project]# git commit -m "index.html" #提交我们的代码

[code (root-commit) e148e93] index.html

1 file changed, 1 insertion(+)

create mode 100644 index.html

5.上传代码到GitLab存储库中

[root@abcops_node2 abcops-project]# git push -u origin code

Counting objects: 3, done.

Writing objects: 100% (3/3), 235 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

remote: GitLab:

remote: A default branch (e.g. master) does not yet exist for root/abcops-project

remote: Ask a project Owner or Maintainer to create a default branch:

remote:

remote: http://10.211.55.12/root/abcops-project/-/project_members

remote:

To git@10.211.55.12:root/abcops-project.git

! [remote rejected] code -> code (pre-receive hook declined)

error: failed to push some refs to 'git@10.211.55.12:root/abcops-project.git' #我这里怎么上传也没有上传成功

我看到网上有人说先使用 git pull 命令把master分支下载下来,然后再同步等等,最好都是失败

解决方法:在GitLab项目中先创建一个readme的文件

再次上传

[root@abcops_node2 abcops-project]# git push -u origin code

Counting objects: 3, done.

Writing objects: 100% (3/3), 235 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

remote:

remote: To create a merge request for code, visit:

remote: http://10.211.55.12/root/abcops-project/merge_requests/new?merge_request%5Bsource_branch%5D=code

remote:

To git@10.211.55.12:root/abcops-project.git

* [new branch] code -> code

Branch code set up to track remote branch code from origin.

上传成功

5.查看GitLab上已经上传的代码

上传成功!!!

ISSUE管理

ISSUE管理是什么呢,一般是指leader给devs分配任务,可以通过gitlab来完成

上面我们给abcops-project项目中的leader、dev1-abcops、dev2-abcops分配了同样的权限,现在我们将leader在项目中的权限修改为所有者

创建milestone

接下来我们使用leader用户登录gitlab,然后创建一个milestones,被称为里程碑

别忘了下面的Create Milestones创建里程碑按钮!!!

创建issue

当我们创建好里程碑以后,我们需要创建任务,然后把任务关联到里程碑中,再把任务分发给abcops-project中的开发者

leader的任务已经分配完成,我们登录dev1和dev2来查看他们是怎么接收任务通知的

我登录了dev2,发现了两个通知信息

可以看到dev2的任务是审核,那就开始干活吧

开发者开发代码并上传

#克隆项目到本地

$ git clone git@10.211.55.12:root/abcops-project.git

#进入项目目录

$ cd abcops-project/

#创建一个分支

$ git checkout -b shenhe

#代码写入shenhe.html

$ echo "I'm dev2 and windiws" > shenhe.html

#输入全局账号及邮箱

$ git config --global user.name "dev2"

$ git config --global user.email "dev2@abcops.com"

#将当前目录添加到索引

$ git add .

#提交shenhe.html代码

$ git commit -m "shenhe.html"

#将创建的分支上传到gitlab服务器

$ git push -u origin shenhe

然后我们登录到gitlab,查看分支是否上传成功

合并分支到主干

还是登录dev2账号,找到项目,然后选择Merge Requests,点击创建 new merge request

然后我们退出使用leader用户登录,会发现有消息通知说dev2发来的审核功能已经开发完毕

删除过源分支后,会发现项目中没有了shenhe,点击master,却在其中

开发者更新本地代码

现在我们的gitlab服务器上的代码是最新版本,我们的开发者也需要同步,因此开发者在本地客户端也需要使用 git pull来更新本地代码

$ git pull

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值