温馨提示×

ubuntu gitlab 版本控制如何操作

小樊
40
2025-11-15 04:46:26
栏目: 智能运维

Ubuntu 上使用 GitLab 进行版本控制的实操指南

一 环境准备与安装

  • 更新系统并安装依赖:sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
  • 添加 GitLab 官方仓库:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
  • 安装 GitLab CE(将域名或 IP 替换为你的地址):sudo EXTERNAL_URL=“http://your-domain-or-ip” apt install -y gitlab-ce
  • 使配置生效:sudo gitlab-ctl reconfigure
  • 访问 Web:打开浏览器进入 http://your-domain-or-ip,首次使用 root 账户并设置密码(密码通常位于 /etc/gitlab/initial_root_password,首次登录后建议立即修改并妥善保管)
  • 防火墙放行:sudo ufw allow http;sudo ufw allow https;sudo ufw allow ssh
  • 资源建议:生产环境推荐至少 4GB RAM(最低 2GB,性能会受限)

二 创建项目与本地克隆

  • 在 GitLab Web 界面:右上角 New project,填写项目名与可见性(Private/Internal/Public),创建项目
  • 复制项目地址(HTTPS 或 SSH),在本地克隆:git clone <项目URL>
  • 进入项目目录并配置 Git 身份(与你的 GitLab 账户邮箱一致更便于审核):
    • git config user.name “Your Name”
    • git config user.email “your-email@example.com”
  • 说明:HTTPS 使用账号/个人访问令牌或 SSH 密钥认证;首次使用 SSH 需将本地公钥(~/.ssh/id_rsa.pub)添加到 GitLab 的 SSH Keys

三 日常版本控制流程

  • 新增或修改文件后:
    • git add .(或指定具体文件)
    • git commit -m “描述本次变更
    • git push origin main(如默认分支为 master,则使用 master)
  • 同步远端更新:git pull origin main
  • 查看状态与历史:git status;git log;git diff
  • 标签管理(发布版本常用):
    • 打标签:git tag -a v1.0.0 -m “Release 1.0.0
    • 推送标签:git push –tags origin
  • 小技巧:首次推送可 git push -u origin main 建立本地分支与远端的跟踪关系,后续直接 git push 即可

四 分支协作与代码审查

  • 创建并切换到功能分支:git checkout -b feature/login
  • 在分支上开发、提交并推送:
    • git add .;git commit -m “实现登录
    • git push origin feature/login
  • 在 GitLab 发起 Merge Request(合并请求):选择源分支 feature/login → 目标分支 main,填写标题与描述,指派评审人
  • 代码评审与讨论后在 Web 界面点击 Merge 合并;合并后可删除已合并分支(页面提供删除按钮)
  • 分支保护:在项目的 Settings → Repository → Protected branches 中保护 main,仅允许通过 MR 合并、限制直接推送与强制推送,保障主干稳定

五 进阶配置与运维要点

  • 邮件通知(可选):在 /etc/gitlab/gitlab.rb 中配置 SMTP,例如:
    • gitlab_rails[‘smtp_enable’] = true
    • gitlab_rails[‘smtp_address’] = “smtp.example.com”
    • gitlab_rails[‘smtp_port’] = 587;gitlab_rails[‘smtp_user_name’] = “user@example.com”
    • gitlab_rails[‘smtp_password’] = “password”;gitlab_rails[‘smtp_authentication’] = “login”
    • gitlab_rails[‘smtp_enable_starttls_auto’] = true;gitlab_rails[‘gitlab_email_from’] = “gitlab@example.com”
    • 修改后执行:sudo gitlab-ctl reconfigure
  • 启用 HTTPS(可选):将 external_url 改为 https://your-domain,并开启 Let’s Encrypt:
    • letsencrypt[‘enable’] = true;letsencrypt[‘contact_emails’] = [‘admin@example.com’]
    • 执行:sudo gitlab-ctl reconfigure
  • 备份与恢复:
    • 备份:sudo gitlab-rake gitlab:backup:create(备份文件默认位于 /var/opt/gitlab/backups
    • 恢复:将备份文件放置到备份目录后执行 sudo gitlab-rake gitlab:backup:restore(注意版本匹配与停机维护)
  • 常用运维命令:sudo gitlab-ctl start|stop|restart|status|tail;查看日志定位问题更高效

0