BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 13 他的粉丝 ,译者 盖磊 关注 2 他的粉丝 发布于 2018年2月28日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

为便于开发人员对Go的开发做出贡献,Google开始将Go的GitHub PR(Pull Request)镜像到Go的上游Git服务器Gerrit

Gerrit是Go开发中主要使用的代码管理工具。为便于开发人员获取Go代码,现在所有归并到Gerrit的更改,同时也镜像到GitHub上的GoLang代码仓储中。据Google的Go工程师Andrew Bonventre介绍,Go团队近期也开始对GitHub PR做镜像,目前在于使Go开发贡献工作流更顺畅。

该工作是通过GerritBot实现的。GerritBot是一种机器人,它可以将任一GitHub PR导入到Gerrit,并以评论(comment)形式将Gerrit的审查链接发布到GitHub PR。所有在Gerrit中添加的评论都将同步到PR中,PR原始贡献者可以对这些评论做处理,并在不离开GitHub环境的情况下将更多的提交推送到同一PR分支。

Gerrit是一种基于Web的代码审查工具,构建在Git之上。Gerrit通过提供一种轻量级框架,简化了代码的审查。在框架中可并排展示所有的更改,并支持内联评论。这在某种程度上类似于GitHub PR所提供的功能,虽然两者在哲学上存在着根本差异。事实上,Gerrit在每次提交时都执行审查,而GitHub PR则是基于两个分支间的差异执行审查。这对于在GitHub或Gerrit中哪种工作流更自然具有重大影响。具体来说,Gerrit注重于单次提交审查,应该将更改分解为一组较小的自包含提交,而通常GitHub PR包含多次提交。

此外,Gerrit实际上提供了一种提交模型。在模型中,提交在实际归并到上游前,会做连续的修订。该模型的目标是通过修改先前的提交,仔细修订变更的历史记录,或将多次提交置于一次提交中。GitHub PR一般不会这样使用,尤其是在使用GitHub Web UI时。在使用命令行处理PR时,我们可以手动获得类似的结果。

查看英文原文: Go Accepts Patches from GitHub Pull Requests Now

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT