1. 准备工作:本地分支开发与推送
在Linux系统中,首先需要将本地修改的代码推送到GitLab远程仓库,这是创建合并请求的前提。
git checkout -b feature-branch
命令创建新分支(如feature-branch
)并切换到该分支。分支名称应清晰反映修改目的(如fix/login-bug
、add/user-profile
)。git add .
将所有变更添加到暂存区,再用git commit -m "详细描述修改内容"
提交到本地仓库。提交信息需简洁明了,说明修改的功能或修复的问题。git push origin feature-branch
将本地分支推送到GitLab远程仓库。若分支首次推送,可能需要添加-u
参数(git push -u origin feature-branch
)设置上游分支。2. 在GitLab上创建合并请求(MR)
登录GitLab项目页面,通过以下步骤发起MR:
feature-branch
);在“Target branch”下拉菜单中选择要合并到的目标分支(通常是main
或master
,即主开发分支)。bugfix
、enhancement
)或分配审查者(指定团队成员负责审核)。3. 代码审查与反馈处理
MR创建后,项目维护者或指定审查者会收到通知,进入审查流程:
git add .
、git commit -m "修复内存泄漏问题"
)和推送(git push origin feature-branch
)操作。每次推送会自动更新MR,审查者可实时查看最新修改。4. 解决冲突与合并
若目标分支(如main
)在MR创建后有更新,可能导致源分支与目标分支冲突,需解决冲突后才能合并:
git checkout main
、git pull origin main
),切换到源分支(git checkout feature-branch
),合并目标分支到源分支(git merge main
),手动解决冲突(编辑冲突文件,删除冲突标记<<<<<<<
、=======
、>>>>>>>
),最后提交并推送修改(git add .
、git commit -m "解决合并冲突"
、git push origin feature-branch
)。5. 可选:设置分支保护与CI/CD
为确保代码质量,建议配置分支保护和CI/CD流水线:
main
),勾选“Protect”选项,设置“Allowed to merge”(如仅项目维护者可合并)、“Allowed to push”(如禁止直接向目标分支推送代码),防止未经审查的代码直接合并。.gitlab-ci.yml
文件,定义自动化任务(如代码格式检查、单元测试、构建部署)。提交代码后,GitLab会自动触发CI/CD流水线,运行定义的任务。若流水线失败,MR无法合并,确保代码符合质量标准。