GitLab在Linux环境下的版本控制流程
GitLab的安装需根据系统环境选择合适方式,常见方法如下:
sudo docker run --detach \
--hostname gitlab.example.com \ # 替换为你的域名或IP
--publish 80:80 --publish 443:443 --publish 22:22 \ # 映射常用端口
--name gitlab \
--restart always \ # 开机自启
--volume /srv/gitlab/config:/etc/gitlab \ # 配置文件卷
--volume /srv/gitlab/logs:/var/log/gitlab \ # 日志卷
--volume /srv/gitlab/data:/var/opt/gitlab \ # 数据卷
gitlab/gitlab-ce:latest # 使用社区版镜像
sudo apt-get update && sudo apt-get install gitlab-ce
sudo yum install epel-release && sudo yum install gitlab-ce
安装完成后,通过http://your-server-ip访问GitLab Web界面,按提示设置管理员密码并完成初始配置。
/etc/gitlab/gitlab.rb文件,设置外部访问URL(如external_url 'http://your-domain.com'),若需启用大文件存储(LFS),可添加gitlab_rails['lfs_enabled'] = true。sudo gitlab-ctl reconfigure使配置生效,随后重启服务sudo gitlab-ctl restart。登录GitLab Web界面,点击左侧导航栏New project,填写项目名称(如my-project)、描述,选择可见性级别(Private/Private/Internal/Public),点击Create project即可生成远程仓库。
在本地Linux机器上,进入项目目录,执行以下命令克隆远程仓库:
git clone http://your-server-ip/username/my-project.git # 使用HTTP协议
# 或使用SSH协议(需配置SSH密钥)
git clone git@gitlab.example.com:username/my-project.git
cd my-project
克隆完成后,本地目录会自动初始化为Git仓库,并与远程仓库建立关联。
git status
git add filename # 添加单个文件
git add . # 添加所有修改/新增文件
git commit -m "Add initial project files"
master分支)。git push origin master
git pull origin master
分支是版本控制的核心功能,用于隔离不同功能的开发:
master)创建新分支(如new-feature)。git branch new-feature # 仅创建分支
git checkout new-feature # 切换到新分支
# 或合并命令(创建并切换)
git checkout -b new-feature
master分支,将new-feature分支的更改合并进来。git checkout master
git merge new-feature
git push origin new-feature
new-feature)。git branch -d new-feature # 删除本地分支
git push origin --delete new-feature # 删除远程分支
代码审查是保证代码质量的关键环节,通过GitLab Web界面完成:
new-feature,待合并的分支)和Target branch(如master,目标分支)。Add user login feature)及详细描述(说明变更内容、修复的问题等)。通过Issues功能管理项目中的任务、Bug或需求:
Fix login page CSS bug)、描述(详细说明问题场景、复现步骤),可添加标签(如bug、high-priority)、里程碑(Milestone)或分配给指定成员(Assignee)。/etc/gitlab/gitlab.rb中配置external_url 'https://your-domain.com',并申请SSL证书(如Let’s Encrypt),提升数据传输安全性。sudo gitlab-backup create生成备份文件,默认存储在/var/opt/gitlab/backups目录,建议将备份文件复制到异地存储。