Linux环境下使用 GitLab 进行版本控制的实操指南
一 环境准备与安装
- 准备一台 Linux 服务器,建议至少 2GB 内存(推荐 4GB+)、20GB+ 磁盘,并开放 22/80/443 端口;以 root 或 sudo 身份操作。安装 Git 命令行工具:sudo apt update && sudo apt install -y git(Debian/Ubuntu),或 sudo yum install -y git(CentOS/RHEL)。
- 安装 GitLab(Omnibus 方式,CE 社区版示例):
- Ubuntu/Debian:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install -y gitlab-ce
- CentOS/RHEL:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce
- 配置与启动:编辑 /etc/gitlab/gitlab.rb,设置 external_url(如:external_url ‘http://your-domain-or-ip’),执行 sudo gitlab-ctl reconfigure 使配置生效,随后 sudo gitlab-ctl start 启动服务。浏览器访问服务器地址完成初始化设置。
二 本地与远程的基本版本控制流程
- 在 GitLab 网页端创建项目(New project),选择 Private/Internal/Public 可见性。
- 本地克隆仓库:git clone <项目URL>;进入目录后配置身份:git config user.name “Your Name”;git config user.email “your-email@example.com”。
- 日常开发提交流程:
- 查看状态:git status
- 暂存更改:git add 或 git add .
- 提交到本地:git commit -m “描述”
- 推送到远端:git push -u origin (首次加 -u 建立上游跟踪)
- 获取远端更新:git pull origin
- 常用查看:git log(提交历史)、git diff(差异)。
三 分支与合并请求协作
- 创建并切换到新分支:git checkout -b feature/x;完成后推送分支:git push origin feature/x。
- 在 GitLab 项目页面进入 Merge Requests,选择源分支(如 feature/x)与目标分支(如 main/master)创建合并请求(MR),进行 Code Review、讨论与批准后合并。
- 合并完成后,本地同步:git checkout main && git pull origin main。
四 认证方式与访问控制
- SSH(推荐):本地生成密钥对 ssh-keygen -t rsa -b 4096 -C “your_email@example.com”,将公钥(默认 ~/.ssh/id_rsa.pub)添加到 GitLab 账户的 SSH Keys,之后克隆/推送可使用 SSH 地址。
- HTTPS:克隆/推送时使用 HTTPS 地址,按提示输入 GitLab 用户名与 Personal Access Token(密码方式在新版本中常被禁用)。
五 常用维护与自动化
- 备份与恢复:执行 sudo gitlab-rake gitlab:backup:create 创建备份;恢复时使用 sudo gitlab-rake gitlab:backup:restore BACKUP=。建议将备份文件存储在 /var/opt/gitlab/backups 并按计划任务定期执行。
- CI/CD:在项目根目录创建 .gitlab-ci.yml 定义构建、测试、部署流程,提交后自动触发 Pipelines 执行。