lab 工具,类 github 的 hub 命令行工具,帮忙执行日常 GitLab 任务而无需要离开终端,比如创建新仓库,管理 Merge Requests,管理 Issue .
安装
mac 使用 brew 安装即可.
brew install zaquestion/tap/lab
其它系统可以使用 bash 脚本安装.
curl -s https://raw.githubusercontent.com/zaquestion/lab/master/install.sh | sudo bash
或直接从下载预编译的版本放到 bin 目录也行.
下载地址: github.com/zaquestion/…
更多安装方式请参考 github.com/zaquestion/…
配置
首先创建 Personal access token, 步骤如下:
- Log in to GitLab (登录自建的 gitlab).
- In the upper-right corner, click your avatar and select Settings. (点击右上角的后再点 Settings)
- On the User Settings menu, select Access Tokens. (点击左边的导航的Access Tokens菜单)
- Choose a name and optional expiry date for the token. (填写名字和时间)
- Choose the desired scopes. (选择权限范围, lab 操作只需要选择 api scope 即可)
- Click the Create personal access token button. (点击 * Create personal access token* 按钮)
- Save the personal access token somewhere safe. Once you leave or refresh the page, you won’t be able to access it again. (安全保存你的 token ,刷新页面不会再显示)
有了 token ,之后直接运行 lab 命令即可,会提示你输入你的自建 GitLab 的主机地址和 token .
$ lab
Enter default GitLab host (default: https://gitlab.com):
Enter default GitLab token:
使用
管理仓库(项目):
lab -h # lab 使用帮忙
lab project -h # 查看 project 的子命令选项
lab project list # 列出个人有权限查看的所有项目
lab project create -h # 查看创建仓库的项目帮忙
lab project create hello # 在用户名空间下创建一个叫 hello 的项目,只能在用户名空间下创建,无法在组空间下创建.
管理 Merge Requests
lab mr -h # 查看 mr 的帮助
lab mr create -h # 查看创建 mr 的帮助
# 比如创建一个 MR 把 develop 分支合并到 master 分支.
lab checkout develop # 切换到 develop 分支,或 git checkout develop 也行
lab mr create origin master -a tom -m 'MR描述信息' # origin 是远程仓库名, master 是需要合并到那个分支, -a 是帮忙 review 或 合并操作的人, -m 是 MR 的描述信息.
# 查看待处理 MR
lab mr list # -a 查看所有
lab mr show 4 # 查看 4 号 MR 信息, Branches 行会显示从什么分支合并到什么合支
lab checkout master && lab checkout pull && lab checkout develop && lab pull # 更新两个分支的代码来最新.
lab diff master develop # 比如两分支的代码差异,代码是从 develop 合并到 master,所以 master 写前面,比较是以 master 为基础
lab mr approve 4 # 接受合并请求
lab mr close 4 # 关闭合并请求
lab mr note 4 -m '评论请求'
lab mr browse 4 # 打开浏览器来查看和操作合并请求
鉴于本人 MR 的子命令用的比较多,所以只写了 MR 的子命令.其它子命令请自行使用 lab -h 的方式来查看并学习使用.