centos

CentOS上GitLab的版本控制如何操作

小樊
50
2025-10-04 23:03:49
栏目: 智能运维

CentOS上GitLab版本控制操作指南

一、GitLab安装与基础配置

  1. 安装依赖包
    在CentOS上安装GitLab前,需先安装必要依赖,确保系统支持GitLab运行:

    sudo yum install -y curl policycoreutils-python openssh-server postfix
    
    • curl:用于下载GitLab安装脚本;
    • policycoreutils-python:用于配置SELinux策略;
    • openssh-server:支持SSH连接(Git远程操作必需);
    • postfix:处理邮件通知(可选,但建议安装)。
  2. 添加GitLab官方仓库
    通过官方脚本添加GitLab YUM仓库,确保能获取最新版本:

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    
  3. 安装GitLab CE(社区版)
    使用YUM命令安装GitLab社区版(免费版):

    sudo yum install -y gitlab-ce
    
  4. 配置并启动GitLab

    • 编辑配置文件/etc/gitlab/gitlab.rb,设置外部访问URL(替换为服务器IP或域名):
      sudo vim /etc/gitlab/gitlab.rb
      # 找到并修改以下行
      external_url 'http://your_server_ip'
      
    • 应用配置并启动GitLab服务:
      sudo gitlab-ctl reconfigure  # 应用配置
      sudo gitlab-ctl start        # 启动服务
      sudo gitlab-ctl enable       # 设置开机自启
      
  5. 访问GitLab Web界面
    打开浏览器,输入http://your_server_ip,按照提示设置管理员密码并登录。

二、版本控制核心操作(项目创建与代码管理)

  1. 创建GitLab项目
    登录GitLab后,点击顶部导航栏“New project”,填写项目名称(如my-app)、描述,选择可见性(Private/Private/Internal/Public),点击“Create project”即可创建远程仓库。

  2. 克隆远程仓库到本地
    在项目页面点击“Clone”按钮,复制SSH或HTTPS地址(推荐SSH,无需每次输入密码):

    git clone git@gitlab.com:your_username/my-app.git
    cd my-app
    
  3. 本地代码提交与推送

    • 配置Git用户信息(仅需一次):
      git config user.name "Your Name"
      git config user.email "your_email@example.com"
      
    • 添加文件到暂存区(.表示所有修改的文件):
      git add .
      
    • 提交更改到本地仓库(-m后面跟提交说明):
      git commit -m "Initial commit"
      
    • 推送到远程仓库(-u设置默认上游分支):
      git push -u origin main  # 若远程分支为master,替换为master
      
  4. 分支管理与合并

    • 创建新分支(如feature/login):
      git checkout -b feature/login
      
    • 切换分支:
      git checkout main
      
    • 查看所有分支(本地+远程):
      git branch -a
      
    • 合并分支(将feature/login合并到main):
      git checkout main
      git merge feature/login
      git push origin main
      
    • 删除分支(本地+远程):
      git branch -d feature/login      # 删除本地分支
      git push origin --delete feature/login  # 删除远程分支
      
  5. 查看代码历史与回退

    • 查看提交历史:
      git log
      
    • 查看文件变化:
      git diff
      
    • 回退到指定提交(commit_id可通过git log获取):
      git reset --hard commit_id
      git push origin main --force   # 强制推送到远程(谨慎使用)
      
  6. 解决合并冲突
    当合并分支时出现冲突(Git会标记<<<<<<<=======>>>>>>>),需手动编辑冲突文件,删除冲突标记并保留正确代码,然后执行:

    git add .
    git commit -m "Resolve merge conflict"
    git push origin main
    

三、团队协作与高级功能

  1. 添加团队成员
    登录GitLab,进入项目→“Settings”→“Members”,点击“New member”,输入成员用户名或邮箱,选择角色(Owner/Admin/Developer/Reporter/Guest),点击“Invite”即可添加。

  2. 使用Merge Request(MR)

    • 成员将代码推送到远程分支后,在项目页面点击“Merge Requests”,点击“New merge request”,选择源分支(如feature/login)和目标分支(如main),填写MR标题和描述,点击“Create merge request”。
    • 团队成员可在MR页面进行代码审查,提出修改建议,通过后点击“Merge”将分支合并到目标分支。
  3. 配置CI/CD流水线

    • 在项目根目录创建.gitlab-ci.yml文件,定义CI/CD流程(如构建、测试、部署):
      stages:
        - test
        - deploy
      
      test_job:
        stage: test
        script:
          - echo "Running tests..."
          - npm test  # 示例:运行npm测试
      
      deploy_job:
        stage: deploy
        script:
          - echo "Deploying to production..."
          - scp -r . user@server:/var/www/html  # 示例:部署到服务器
        only:
          - main  # 仅在main分支推送时触发
      
    • 推送代码到远程仓库后,GitLab会自动触发CI/CD流水线,可在“CI/CD”→“Pipelines”查看执行结果。
  4. 问题追踪(Issues)
    在项目页面点击“Issues”,点击“New issue”,填写问题标题、描述,分配给团队成员,设置截止日期,点击“Create issue”即可创建任务。团队成员可通过评论功能讨论问题,更新问题状态。

四、注意事项

0
看了该问题的人还看了