GitHub 三种合并代码方式的差别

2023年 1月 4日 44.5k 0

1. Create a merge commit

PR Commit 记录:

1
2
commit c1
commit c2

集成分支 Commit 记录:

1
2
3
commit PR #NUM
commit c2
commit c1

Create a merge commit 会将 PR 中的全部 Commit 记录完整带到集成分支中,同时增加一条 PR Commit 信息。

2. Squash and merge

PR Commit 记录:

1
2
commit s1
commit s2

集成分支 Commit 记录:

1
commit PR #NUM

Squash and merge 合并之后,集成分支只会增加一条 Commit 记录。观感不错,同时对具有多条 Commit 记录的 PR 友好,值得推荐。 PR 的标题和备注都可以在集成分支直接查看。

3. Rebase and merge

PR Commit 记录:

1
2
commit r1
commit r2

集成分支 Commit 记录:

1
2
commit r2
commit r1

Rebase and merge 会将 PR 中的全部 Commit 记录完整带到集成分支中。另外如果开发分支没有 Rebase ,继续提交 PR 记录会是这样:

1
2
3
4
commit r1
commit r2
commit new1
commit new2

但已经合并的代码不会再次合并,只是影响 PR Commit 记录的观感。

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论