英文原文:Useful GitHub patterns 译者:deepfish 译文:链接
我的本职工作和开源工作常涉及到使用 git 和 GitHub 。我发现有一些实用的模式我会固定使用。
下文中我会把 pull 请求(pull request)简写成 PR。
1. 剥离的 PR
我什么时候用?
我该做什么?
这个既满足想要快速修正无关问题的愿望,又能保持特征开发分支的清晰明了,让评审变得更容易。
2. 乐观的分支
我什么时候用?
我该做什么?
这种处理有冲突的风险,如果在分支A上做的改动特别大。但是这个乐观的策略 95% 的情况都工作良好。
3. 机智的 PR
我什么时候用?
我该做什么?
这个方法不会阻碍我的继续,但是 GitHub 还是会通过邮件通知我的队友这个 PR。因此大家觉得有异议也都可以评论这个修改。
4. 偷偷摸摸的提交
我什么时候用?
我该做什么?
5. the roger roger 评论
我什么时候用?
我该做什么?
* 评论包含了该修改提交的引用的 PR
* GitHub 会聪明地在差异链接处增加引用的次数,这样我的同事:
→ 得到修改的邮件通知
→ 简单地点击提交差异链接
→ 知道他们可以继续代码评审了
6. 慢慢爬的提交
我什么时候用?
我该怎么做?
7. 强制修改的分支
我什么时候用?
我该做什么?
强制推送到远端分支应该是 git 的一个禁忌,但是我的经验是这样处理很少有问题(只要它是普通分支,不是 master 就行)。GitHub 能很好地处理强制推送到 PR 分支,例如不会丢失前一次的提交的评论。
8. 重新格式化剥离
我什么时候用?
我该做什么?
这种方法,让分支的差异在代码评审者眼里变得更加清晰明了,因为它不包含格式化
9. 原型 PR
我什么时候用?
我该做什么?
我以前习惯于当代码完成时应该报一个 PR。现在我真正领悟到了为什么“pull request 是一个开始讨论的好办法” —— GitHub 的围绕 PR 的功能(例如内联评论、回复、通知和比较差异)对于促进代码和设计讨论堪称卓越,还可以防止开发者偏离正题太远,跑到死胡同。