文章目录1.简介2.Gitlab安装3.Gitlab配置3.1 端口配置3.2 root登录配置3.2.1 查看默认root密码3.2.1 中文设置3.2.3 修改root密码3.3 关闭升级与启用注册3.4 测试注册功能3.4.1 普通用户注册3.4.2 管理员审批3.5 设置默认主分支名称3.6 新建群聊或仓库赋予用户权限4.用户免密登录设置5.首次代码推送5.1 全局设置5.2 初次上传代码push master5.3 测试下载代码pull5.4 在dev下修改代码后上传push6.其他说明6.1 常用GIT命令6.2 gitlab软件其他常用配置路径6.3 其他GitLab软件常用命令7.可能的错误7.1 git代码无法上传的问题7.2 无法切换dev分支的问题7.3 git时需要输入密码的问题8.致谢1.简介GitLab 是集代码托管、DevOps 自动化于一体的研发平台最大特色是开源免费私有化部署企业级流程与权限管控能力强劲。对比 GitHubGitHub 胜在全球开源生态与社区GitLab 强于私有化部署和一站式 DevOps对比 GiteeGitee 主打国内高速访问与本土化服务GitLab 在企业级自动化、私有化功能上更全面。2.Gitlab安装以Centos7为例首先更换阿里的软件源教程如下x86及ARM架构的Centos系统更换yum源提升软件下载更新速度安装 GitLab# 直接安装最新版yuminstall-ygitlab-ce软件包比较大需要耐心等待出现如下样式代表安装成功3.Gitlab配置3.1 端口配置注意关闭防火墙或针对拟开通端口开放策略否则Gitlab服务端口可能无法访问。编辑/etc/gitlab/gitlab.rb这个配置文件修改如下行为需要的后台地址配置完成后执行重新加载配置文件指令启动过程较长约3-10分钟不等需要耐心等待一会儿gitlab-ctl reconfigure使用如下命令查看运行状态gitlab-ctl status访问刚才配置的地址127.0.0.1:8888测试可正常打开3.2 root登录配置3.2.1 查看默认root密码cat/etc/gitlab/initial_root_password然后使用用户名root和如上密码可以登录后台网页此处使用了网页翻译3.2.1 中文设置后台中的偏好设置可以选择简体中文保存然后刷新页面即可3.2.3 修改root密码从后台网页修改后重新登录即可3.3 关闭升级与启用注册打开如下配置即可关闭升级提示并启用注册功能3.4 测试注册功能3.4.1 普通用户注册选择注册,填写账号密码、邮箱等信息注意注册后不能立即登录需要root管理员审批3.4.2 管理员审批在管理中心-用户菜单下可以看到待通过的账号点击批准即可。3.5 设置默认主分支名称有时候为了保持和github或者gitee统一需要修改主分支名称为master或者main可以在如下配置3.6 新建群聊或仓库赋予用户权限root账户下新增不同的群聊或者是代码仓库然后在群聊中可以新增不同的项目代码仓库并可以选择人员权限不同的权限含义如下4.用户免密登录设置首先生成本机的密钥依次执行cd~/.ssh# 设置你的邮箱ssh-keygen-trsa-CXXXXXXXXX.cn#查看密钥catid_rsa.pub然后在SSH密钥里面添加即可5.首次代码推送新建仓库之后gitlab本身会提示有一些命令5.1 全局设置gitconfig--globaluser.namegitlab的账号名#例如git config --global user.name 二狗 李gitconfig--globaluser.email注册gitlab的邮箱#例如git config --global user.email 123456qq.com5.2 初次上传代码push master# 初始化gitinit --initial-branchmaster# gti仓库地址根据实际替换gitremoteaddorigin http://172.XX.XX.XX:XXX/群组名称/仓库名称.git# 添加文件gitadd.# 添加提交描述gitcommit-mfiret add# 上传到master分支gitpush origin master上传代码到master后建议立刻在后台gitlab页面增加一个dev分支用来开发用防止在master主分支修改5.3 测试下载代码pull# 初始化gitinit# 添加仓库地址gitremoteaddorigin http://172.XX.XX.XX:XXX/群组名称/仓库名称.git# 从dev拉取数据gitpull origin dev# 列出所有分支名称gitbranch-a# 切换dev分支gitcheckout dev5.4 在dev下修改代码后上传push后续常用三行命令即可# 在dev分支下可以编辑修改代码,修改后可以上传到dev分支同步gitadd.gitcommit-mV2.0gitpush6.其他说明6.1 常用GIT命令6.2 gitlab软件其他常用配置路径gitlab组件日志路径/var/log/gitlab gitlab配置路径/etc/gitlab/ 路径下有gitlab.rb配置文件 应用代码和组件依赖程序/opt/gitlab 各个组件存储路径 /var/opt/gitlab/ 仓库默认存储路径 /var/opt/gitlab/git-data/repositories 版本文件备份路径/var/opt/gitlab/backups/ nginx安装路径/var/opt/gitlab/nginx redis安装路径/var/opt/gitlab/redis6.3 其他GitLab软件常用命令#查看服务状态gitlab-ctl status 使用控制台实时查看日志# 查看所有的logs; 按 Ctrl-C 退出gitlab-ctltail# 拉取/var/log/gitlab下子目录的日志gitlab-ctltailgitlab-rails# 拉取某个指定的日志文件gitlab-ctltailnginx/gitlab_error.log#启动关闭gitlabgitlab-ctl start gitlab-ctl stop#停止gitlab-ctl status#查看状态gitlab-ctl restart#重启gitlab-ctl reconfigure#更新配置文件gitlab-ctlhelp#帮助gitlab-rake gitlab:checkSANITIZEtrue--trace检查gitlab#gitlab 默认的日志文件存放在/var/log/gitlab 目录下gitlab-ctltail#查看所有日志#禁止 Gitlab 开机自启动systemctl disable gitlab-runsvdir.service#启用 Gitlab 开机自启动systemctlenablegitlab-runsvdir.service7.可能的错误7.1 git代码无法上传的问题用惯gitee等系统的可能遇到使用SSH地址无法上传的问题切换成HTTP地址即可成功。另外上传的时候务必确认是否开启某些科学上网工具实测开启代理网络后可能无法上传成功7.2 无法切换dev分支的问题网页后台新建dev分支后git pull的时候 选择git pull origin dev然后git checkout dev就可以了7.3 git时需要输入密码的问题1检查SSH密钥是否在gitlab后台网页添加免密登录2首次使用的时候可能需要输入一次账号密码按照提示输入即可3还有一种情况可能没有初始化参考本文5.1节全局设置。8.致谢相关教程参考如下连接[1] 【GIT】基于git的gitee代码管理使用详细教程[2] Gitlab 仓库搭建详细版[3] gitlab初始化项目上传到gitlab一直提示输入密码错误