目录
方法 3:通过 Pull Request(PR)/ Merge Request(MR)
我们在实际开发中会经常使用Git提交代码、合并代码。
以下以“v0.5.0”分支为例:
在 Git 中,将v0.5.0
分支合并到 master
分支通常有两种方式:直接合并(Merge) 或 变基合并(Rebase + Merge)。以下是详细步骤和最佳实践:
方法 1:标准合并(Merge)
适合大多数团队协作场景,保留完整提交历史。
步骤
-
确保本地仓库是最新状态
切换到master
分支并拉取最新代码:git checkout master git pull origin master
-
合并
v0.5.0
到master
git merge v0.5.0
-
解决冲突(如果有)
-
如果合并时提示冲突,手动编辑文件解决冲突,然后标记为已解决:
git add <冲突的文件> git commit -m "解决合并冲突"
-
-
推送合并后的
master
到远程仓库git push origin master
特点
-
保留
v0.5.0
的完整提交历史。 -
生成一个合并提交(Merge Commit)。
-
适合团队协作,避免重写历史。
方法 2:变基合并(Rebase + Merge)
适合希望保持线性提交历史的项目(如开源项目)。
步骤
-
切换到
v0.5.0
分支并变基git checkout v0.5.0 git rebase master
-
如果变基过程中有冲突,解决后继续:
git add <冲突的文件> git rebase --continue
-
-
切换到
master
并合并git checkout master git merge v0.5.0
-
推送更新后的
master
git push origin master
特点
-
提交历史更干净(线性)。
-
适合小型团队或单人开发。
-
注意:变基会重写历史,已推送的分支慎用!
方法 3:通过 Pull Request(PR)/ Merge Request(MR)
适合 GitHub、GitLab 等协作平台,推荐团队使用。
步骤(以 GitHub 为例)
-
推送
v0.5.0
到远程仓库git push origin v0.5.0
-
在 GitHub/GitLab 创建 PR/MR
-
进入仓库 → Pull Requests → New Pull Request。
-
选择
base: master
和compare: v0.5.0
。 -
填写标题和描述,点击 Create Pull Request。
-
-
审核代码 & 合并
-
团队成员审核代码后,点击 Merge Pull Request。
-
可选择 Merge(标准合并)、Squash and Merge(压缩提交) 或 Rebase and Merge(变基合并)。
-
特点
-
适合团队协作,确保代码审核。
-
可配置 分支保护规则,禁止直接推送
master
。
总结
方法 | 适用场景 | 提交历史 | 是否需要冲突解决 |
---|---|---|---|
直接合并(Merge) | 团队协作,保留完整历史 | 非线性(有合并提交) | ✅ |
变基合并(Rebase + Merge) | 个人/小型项目,线性历史 | 线性(无合并提交) | ✅ |
Pull Request(PR) | 团队协作,代码审核 | 可选(Merge/Squash/Rebase) | ✅ |
推荐流程
-
团队协作 → PR/MR 合并(确保代码审核)。
-
个人项目 → Rebase + Merge(保持干净历史)。
-
紧急修复 → 直接 Merge(快速合并)。
如果有冲突,建议使用 git mergetool
(如 VSCode、Meld)可视化解决。 🚀