Pull Requests
功能分支除了可以隔离功能的开发,也使得通过Pull Requests
讨论变更成为可能。 一旦某个开发完成一个功能,不是立即合并到master
,而是push
到中央仓库的功能分支上并发起一个Pull Request
请求去合并修改到master
。 在修改成为主干代码前,这让其它的开发者有机会先去Review
变更。
Code Review
是Pull Requests
的一个重要的收益,但Pull Requests
目的是讨论代码一个通用方式。 你可以把Pull Requests
作为专门给某个分支的讨论。这意味着可以在更早的开发过程中就可以进行Code Review
。 比如,一个开发者开发功能需要帮助时,要做的就是发起一个Pull Request
,相关的人就会自动收到通知,在相关的提交旁边能看到需要帮助解决的问题。
一旦Pull Request
被接受了,发布功能要做的就和集中式工作流就很像了。 首先,确定本地的master
分支和上游的master
分支是同步的。然后合并功能分支到本地master
分支并push
已经更新的本地master
分支到中央仓库。
仓库管理的产品解决方案像Bitbucket
或Stash
,可以良好地支持Pull Requests
。可以看看Stash
的Pull Requests
文档。