将 Github 的 Issue 转成 Pull Requests 已翻译 100%

oschina 投递于 2013/03/12 06:42 (共 3 段, 翻译完成于 03-12)
阅读 4621
收藏 17
2
加载中

使用Hub库,可以将 Github 的 Issue 转成 Pull Requests。这引出了本文介绍的一个有用的Github 工作流。

这并不是什么新鲜事;在之前就有提到过。然而,这是我一直在做的事,同时开发django-oscar,我也受够了对它的解释。这篇文章对我所指向的人是一个参考。

等PM
翻译于 2013/03/12 11:20
1

工作流:


1)讨论

讨论项目的邮件列表上的一个新功能的想法。商定需要做什么。

2)指定

为该功能创建一个GitHub的issue。

写ticket作为一个简单的功能规格时常是有用的,记录如用户故事一样的需求。GitHub的support for checkboxes in markdown在这里很有用:

3)执行

在该issue上创建一个功能分支以使其工作:

(master) $ git checkout -b issue/472/django1.5

我发现在分支名称中包含issue编号是很有帮助的,但是可能你并不这样想。

像平常一样在你的分支上执行和提交。

4)审查

现在推送到远程端:

(issue/472/django1.5) $ git push -u origin issue/472/django1.5
同时附上你提交的初始issue,继而将其转换成pull request。
(issue/472/django1.5) $ hub pull-request -i 472 -h tangentlabs:issue/472/django1
tangentlabs是初始远程拥有者的Github用户名。

注意到issue分支是被推送到初始远程端而不是分流。这佯做让其他增加pull request提交的开发者而言,提供了便利。

5)迭代

pull request现在可以进行代码审查和进一步执行。该过程一直持续,直到问题被解决,能被合并到主(端)。

等PM
翻译于 2013/03/12 17:03
1

注意

Hub的 pull-request命令是有用的但相对来说也是未知的。-i标志显示Github 的issue 编号,而-h标志指定了 pull request的源分支。下面是相关的帮助说明片段:

it pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
       为"原产地"远程点项目在GitHub上打开一个pull request。默认的pull request 的头部信          息是当前的分支。 pull request的基本信息和头部,能通过以下的格式明确的给出: "branch",
       "owner:branch",  "owner/repo:branch"。 如果校验到当前的主要分支有本地提交,但没有        被推送到远程分支上的上游分支,该命令将中止操作。 使用 -f标志跳过该校验。

       如果标题被省略,在打开的文本编辑器中,可以和git提交的信息以同样的方式输入pull request        的标题和正文。                                                                                                                                                          如果不是正常的标题,-i参数得到的不是一个正常的issue编号,pull request将附加在已存在的       GitHub的issue上。此外,取代标题,你可以给GitHub上的issue粘贴一个完整地URL。

没有该命令,最终你将为同一工作块创建一个独立的pull-request和issue。

你可以通过Oscar's pull requests以运行的方式查看该工作流。

等PM
翻译于 2013/03/12 16:31
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(1)

久欠幸福
久欠幸福
我见过有人用issue写博客。。。
返回顶部
顶部