Go现在接受来自GitHub PR的补丁

channel · · 3400 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

为便于开发人员对Go的开发做出贡献,Google开始将[Go的GitHub PR(Pull Request)镜像到Go的上游Git服务器Gerrit](https://github.com/golang/go/wiki/GerritBot)。 [Gerrit是Go开发中主要使用的代码管理工具](https://golang.org/doc/contribute.html)。为便于开发人员获取Go代码,现在所有归并到Gerrit的更改,同时也镜像到[GitHub上的GoLang代码仓储](https://github.com/golang)中。据Google的Go工程师Andrew Bonventre介绍,Go团队近期也开始对GitHub PR做镜像,目前在于使Go开发贡献工作流更顺畅。 该工作是通过GerritBot实现的。GerritBot是一种机器人,它可以将任一GitHub PR导入到Gerrit,并以评论(comment)形式将Gerrit的审查链接发布到GitHub PR。所有在Gerrit中添加的评论都将同步到PR中,PR原始贡献者可以对这些评论做处理,并在不离开GitHub环境的情况下将更多的提交推送到同一PR分支。 [Gerrit](https://gerrit-review.googlesource.com/q/status%3aopen)是一种基于Web的代码审查工具,构建在Git之上。Gerrit通过提供一种轻量级框架,[简化了代码的审查](https://gerrit-review.googlesource.com/Documentation/intro-how-gerrit-works.html)。在框架中可并排展示所有的更改,并支持内联评论。这在某种程度上类似于GitHub PR所提供的功能,虽然两者在哲学上存在着根本差异。事实上,Gerrit在每次提交时都执行审查,而GitHub PR则是基于两个分支间的差异执行审查。这[对于在GitHub或Gerrit中哪种工作流更自然](https://softwareengineering.stackexchange.com/questions/173262/gerrit-code-review-or-githubs-fork-and-pull-model)具有重大影响。具体来说,Gerrit注重于单次提交审查,应该将更改分解为一组较小的自包含提交,而通常GitHub PR包含多次提交。 此外,Gerrit实际上提供了一种提交模型。在模型中,提交在实际归并到上游前,会做连续的修订。该模型的目标是通过修改先前的提交,仔细修订变更的历史记录,或将多次提交置于一次提交中。GitHub PR一般不会这样使用,尤其是在使用GitHub Web UI时。在使用命令行处理PR时,我们可以手动获得类似的结果。 查看英文原文: [Go Accepts Patches from GitHub Pull Requests Now](https://www.infoq.com/news/2018/02/golang-github-gerrit-bot) 译者:盖磊,来源:[infoq](http://www.infoq.com/cn/news/2018/02/golang-github-gerrit-bot)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3400 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传