Gitlab 使用入门

1.简介

Gitlab是一个基于Ruby on Rails的开源的版本管理系统,实现一个自托管的Git项目仓库,可以通过Web界面访问代码仓库。它和Github拥有类似的功能,上手比较容易。
Gitlab的使用要求用户掌握基础的Git技能。以下文档按用户角色(普通用户和管理员),分别介绍使用方法。

2.普通用户

通过Gitlab管理员给的网址访问。如果是 https,可能服务器的SSL证书没有认证,浏览器会提示不安全。请忽略,点击继续浏览网站。

2.1 创建账号与加入项目

一般地,由管理员分配账号。管理员会将你加入到指定的项目。创建账号后,会收到系统发送的邮件,按提示设置密码。(收到的邮件有可能存在垃圾箱中,注意查看。)

2.2 拉取和推送代码

2.2.1 通过 SSH 协议
推荐使用这种方式!
首先需要在本地机器中生成公私钥密钥对。确保系统已安装好Git客户端,在Git Bash(或命令行)中运行如下命令,几个回车之后即可
ssh-keygen -t rsa -C "your_email@example.com" -b 4096
参数说明:
-t 密钥类型
-C 备注,填自己的账号邮箱
-b 密钥长度
密钥对默认保存在用户主目录(或者Git安装目录下./homepath/)的.ssh/下,.ssh 目录是隐藏目录。默认的名称为id_rsa和id_rsa.pub,后者为公钥。(Windows系统的目录为C:\Users\Administrator\.ssh)。若没有找到,可在硬盘中,搜索id_rsa。
然后打开Gitlab网站,点击右上角头像,弹出下拉菜单,点设置(Settings),打开设置界面。再点击SSH Keys,可以看到如下界面
gitlab-ssh-settings.png
将上一步生成的公钥(id_rsa.pub),用文本编辑器打开,复制其中文本内容,粘贴到Key文本框,点击添加Key即可。

测试配置是否成功(其中 domain 是 Git 仓库的域名):

ssh -T git@domain

返回欢迎语,则表示配置成功,如:

Welcome to GitLab, Zhangsan!

总结下来,就是在本地生成公私钥对,将公钥复制到服务器。完成以上两步,即可通过SSH方式免密码访问代码仓库,包括pull和push。
注意,由于Gitlab系统的安全限制,不允许通过master分支推送代码,请在开发分支(develop)提交和推送代码。如果是对已有的代码创建一个仓库,可先将用户设置为 Master 级别,此时添加远程仓库不会被拒绝。将本地生成的仓库,推送到服务端后,再将用户的等级改回 developer。同时在网页上修改仓库的配置,Settings -> Repository -> Protected branch,新增一个保护配置,设置相应的用户等级。

2.2.2 通过 http 协议
这种方式,拉取与推送时,需要填写账号和密码。一般地Git客户端工具可以记住密码。
第一次使用,可能会提示,仓库地址不是一个有效的地址,详细信息是SSL certificate problem: Invalid。原因是https证书没有认证,可以在客户端取消安全验证。在Git Bash(或命令行)中执行以下命令:
git config --global http.sslVerify false

3.管理员

3.1 账号与权限

默认的管理员账号为root。

管理员主要是创建组(group)、创建项目、创建用户。
一个组是几个项目的集合,组内项目的URL会以组名作为命名空间。可以将已有的项目移到某个组。

组的可见级别分为3种:

gitlab-group-permissions.png

私有(Private):该组和组内项目,只有组内成员可见。
内部(Internal):该组和任何内部项目对所有登录用户可见。
公开(Public):该组和任何公开项目无需权限,完全可见。

项目的可见级别也分为3种:

gitlab-project-permissions.png

私有(Private):授权用户才能访问
内部(Internal):任何登录用户均可访问
公开(Public):完全公开,无需任何授权

用户对于项目或组的角色有5种,等级依次从低到高:
Guest - 游客,只能查看项目,不能pull或者下载代码及其它
Reporter - 报告者,只能pull或者下载代码,不能提交和推送代码及其它
Developer - 开发者,可以pull和push代码,不能添加新成员
Master - 管理者,可以添加新成员等管理性权限
Owner - 拥有者,几乎拥有全部权限
一般地,项目开发者,赋予Developer权限;项目管理者赋予Master权限。组的管理者赋予Owner权限。详细说明请参考文档:https://domain/help/user/permissions。(domain为Gitlab的域名或IP地址)

3.2 将已有的用户添加到某个组

打开组的Members列表,可以将用户添加到该组。打开项目的Members列表,可以将用户添加到该项目。

3.3 给用户重置密码

点击顶部工具栏,进入管理界面,点击用户(Users),可以查看到全部用户列表。然后点击相应用户行的编辑(Edit)按钮,进入用户编辑界面,可以设置新的密码。用户使用新的密码登录后,会要求重置密码。(一般让用户自动助找回密码,点击登录界面的“忘记你的密码?”链接,输入账号创建时的邮箱地址,提交后会收到重置密码的邮件,按提示操作即可。)

标签: gitlab

添加新评论