CentOS中GitLab版本控制实施指南
在CentOS系统上使用GitLab进行版本控制前,需完成以下基础准备:
sudo yum update -y
sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd && sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
通过官方脚本添加GitLab社区版(CE)仓库,确保后续可通过YUM包管理器安装:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
使用YUM命令安装GitLab CE(社区版),安装过程会自动解决依赖关系:
sudo yum install -y gitlab-ce
/etc/gitlab/gitlab.rb,设置服务器外部访问地址(替换为实际IP或域名):sudo vim /etc/gitlab/gitlab.rb
# 找到并修改以下行(取消注释并替换URL)
external_url 'http://your_server_ip'
sudo gitlab-ctl reconfigure # 应用配置
sudo gitlab-ctl start # 启动服务
sudo gitlab-ctl enable # 设置开机自启
在浏览器中输入http://your_server_ip,按照提示设置管理员密码(root用户),登录后即可进入GitLab管理页面。
登录GitLab后,点击顶部导航栏New project,填写项目名称(如my-project)、描述(可选),选择项目可见性(Private/Internal/Public),点击Create project完成创建。
在项目页面点击Clone按钮,复制项目的HTTP/SSH地址(如http://your_server_ip/my-username/my-project.git)。在本地终端执行以下命令克隆仓库:
git clone http://your_server_ip/my-username/my-project.git
cd my-project
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
git add . # 添加所有修改的文件
git commit -m "Initial commit" # 提交更改(描述需清晰)
git push -u origin master # 推送master分支并设置上游
master)创建新分支(如feature/login):git checkout -b feature/login # 创建并切换到新分支
git checkout master # 切换回master分支
feature/login分支的更改合并到master分支:git checkout master # 切换到master分支
git merge feature/login # 合并feature/login分支
git push origin master # 推送合并后的master分支到远程
若合并时出现冲突(Git会提示冲突文件),需手动编辑冲突文件(删除<<<<<<<、=======、>>>>>>>等冲突标记),然后执行以下命令:
git add conflict_file.py # 标记冲突已解决
git commit -m "Resolve merge conflict"
git push origin master
为项目的重要版本打上标签(如v1.0.0),便于后续快速回溯:
git tag v1.0.0 # 创建本地标签
git push origin v1.0.0 # 推送标签到远程仓库
在GitLab项目页面的Repository→Tags中可查看和管理标签。
通过.gitlab-ci.yml文件配置自动化流程(如代码构建、测试、部署),提升开发效率。例如,添加以下配置可实现代码提交后自动运行测试:
stages:
- test
test_job:
stage: test
script:
- echo "Running tests..."
- pytest # 假设项目使用pytest
将.gitlab-ci.yml文件提交到仓库后,GitLab会自动触发CI/CD流程。
通过以上步骤,即可在CentOS系统中使用GitLab实现完整的版本控制,覆盖代码托管、协作开发、历史追溯等核心需求。