Github’s Pull Requests

Github's Pull Requests


前阵子在同事的推广下试玩了一下Github的Pull Requests功能,觉得还满不错的,稍微将之纪录一下。

Pull Requests的功能对笔者而言就如同它字面所呈现的意思一样,开发人员可以透过Github发出Pull Requests要求请求他人将程序拉下来看,简单的来说有点由开发人员主动要求他人帮忙做Code Review的意味。

在导入Pull Requests时,开发人员需养成在一个独立的Branch做新Feature开发的好习惯,开发时主动发出Pull Requests要求大家一起来关注整个Feature的实践过程,他人可透过Pull Requests清楚的看到这次异动的部分,针对异动的部分可以做些讨论与给予建议。开发人员在开发的过程中也可随时透过Pull Requests更新整个开发的进度。待开发告一段落,开发人员可指定一位团队成员做为负责人,负责对整个Feature的开发做背书,并负责将Branch合并回开发主线。

这边实际的带一遍运行流程,当我们为要加的Feature开好了一个独立的Branch后,我们就可以将Github切到刚建立的Branch,然后按下上方的Pull Request按钮发起Pull Requests的要求,让有兴趣的团队成员可以先开始关注。

image

发起Pull Requests会要指定最后要合并回哪个分支,通常这边都是直接指定开发主线就好,下方还要记得填写这个Pull Requests的名称即细部的描述,都完成后按下下方的Send pull request按钮就可以了。

image

到这边Pull Requests已经成功的发起,每当对应的分支有上Git的Commit,都可以在Pull Requests上看到,团队成员可以很即时的透过Pull Requests查看到底改了些什么。(这边必须要注意到,上面提过的要指定一个团队成员为这个Feature做最后的背书与负责合并回开发主线,也是透过这边去指定。)

image

也可以在上面针对修改的内容作些讨论。

image

若Feature开发告一段落,而团队成员对于修改也没有什么意见,那负责背书与合并回开发主线的团队成员就可以直接将页面卷动到最下面,按下Merge按钮Pull Requests就会自动的将分支并回开发主线,只有发生冲突无法自动合并,才需要自己手动使用Git排解。

Pull requests可以有效的让团队成员清楚了解各自在所在进行的任务、任务的进度、以及实践的方法。借由彼此的交流讨论,可以看到一个人没办法看到的盲点,也可以从中互相学习,进而带起整个团队的程度。而每个feature也会留下详细的讨论数据,若有需要随时可以查询翻阅。