一、安装
环境:centos7
1.1、下载rpm安装脚本命令
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
上边命令里的rpm安装脚本地址可能会随时更新,当前需要用的是哪个地址,可以参考当前官方文档,官方文档地址:gitlab/gitlab-ce - Installation · packages.gitlab.com
1.2、执行安装命令
sudo yum install gitlab-ce
执行上边命令可能需要等的比较久,等几分钟后,执行完成后,出现以下画面,说明没问题
1.3、启动gitlab服务
sudo gitlab-ctl reconfigure
执行完成后,出现以下画面,就说明没问题
1.4、登录
此时输入linux对应的IP地址,就可以看到登录页面。默认gitlab占用的为80端口。所以一般先进行相关配置修改。
1.5、默认root账户密码修改
命令:sudo gitlab-rake "gitlab:password:reset[root]"
密码需要复杂的。简单的密码禁止设置。
1.6、修改gitLab默认端口和项目默认地址前缀
命令:vim /etc/gitlab/gitlab.rb
进入文档搜索/listen_port,找到 nginx['listen_port'],改成 nginx['listen_port'] = 8888。
搜索/external_url,找到 external_url 'http://gitlab.example.com',找到后,改成 external_url 'http://192.168.1.1:8888'。
1.7、执行重新配置命令并重启gitLab
重新配置命令:gitlab-ctl reconfigure
重启命令:gitlab-ctl restart
1.8、设置gitlab开机启动
命令:systemctl enable gitlab-runsvdir.service
注:访问地址为 http: 而不是 https:
二、使用
2.1、首次本地项目推送到gitlab
Ø 在gitlab中创建新项目
Ø 创建分支,因master在西方含有侮辱性含义因此当创建项目后默认分支为main。因此需要,自行创建master。删除掉main分支。 设置分支保护等。
新建项目时可以先只创建master分支。删除掉main分支,在本地项目推送到master以后直接在master基础上创建dev,test等分支
默认分支及分支保护设置
设置受保护分支
Ø 找到本地项目右键选择 Git Bash Here
Ø 初始化本地仓库命令:git init
Ø 添加到暂存区,
命令:git add .
Ø 用于将暂存中的更改创建为一次提交。
命令:git commit -m '提交备注名称'
Ø 建立本地仓库和远程仓库关系并推送
git remote add origin http://ip地址+端口/路径/(项目名称).git
Ø 推送时先 pull 拉取一下远程仓库master的代码
命令:git pull --rebase origin master
Ø 推送本地代码到远程仓库
命令:git push -u origin master
最后再登录gitlab查看是否推送成功。
2.2、git Bash账号密码如何重新输入
Ø 打开控制面板(快捷打开win+R,输入control)
Ø 点击打开用户账户
Ø 点击凭据管理器
Ø 点击windows凭据编辑或者删除你的git凭据即可。
2.3、idea中git账号密码如何重新输入
在setting中修改配置即可。
2.4、idea中Git拉取远程内容强制覆盖本地文件
依次执行下列代码吧
Ø git fetch --all
Ø git reset --hard origin/master
Ø git pull
三、提交审批
权限分级说明
Guest(匿名用户) - 创建项目、写留言薄
Reporter(报告人)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段
Developer(开发者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki
Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子
Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转移到另一个名称空间、删除项目
持续集成