赞
踩
Merge pull request
提供了 3 种 merge
方法:
Create a merge commit
:GitHub
的底层操作是 git merge --no-ff
。feature
分支上所有的 commit
都会加到 master
分支上,并且会生成一个 merge commit
。这种方式可以让我们清晰地知道是谁做了提交,做了哪些提交,回溯历史的时候也会更加方便。Squash and merge
:GitHub
的底层操作是 git merge --squash
。Squash and merge
会使该 pull request
上的所有 commit
都合并成一个 commit
,然后加到 master
分支上,但原来的 commit
历史会丢失。如果开发人员在 feature
分支上提交的 commit
非常随意,没有规范,那么我们可以选择这种方法来丢弃无意义的 commit
。但是在大型项目中,每个开发人员都应该是遵循 commit
规范的,因此我不建议你在团队开发中使用 Squash and merge
。Rebase and merge
:GitHub
的底层操作是 git rebase
。这种方式会将 pull request
上的所有提交历史按照原有顺序依次添加到 master
分支的头部(HEAD
)。因为 git rebase
有风险,在你不完全熟悉 Git
工作流时,我不建议 merge
时选择这个。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。