我如何在GitHub中为其他代码做贡献?
我想为GitHub中的某个项目做出贡献。 我应该分叉吗? 科呢? 什么是build议和如何做到这一点?
理想情况下你:
- 分叉项目
- 做一个或多个很好的评论和干净的提交到存储库。 如果您要修改多个零件或function,则可以在此创build一个新的分支。
- 在github的web界面中执行一个pull请求 。
如果它是新的function请求,则不要先启动编码。 请记住发布一个问题来讨论新function。
如果该function被讨论得很好,并且有一些+1或者项目拥有者批准,请将问题分配给自己,然后执行上述步骤。
有些项目不会使用拉取请求系统。 请查看作者或邮件列表,以获取代码返回到项目中的最佳方式。
为了增加Yann的答案 ,一旦你分派了一个项目,你可以在你想要的任何一个分支中开发(一个新的,或者来自原始项目)
记得:
- 添加原始项目作为一个远程(不同的forms'
origin
',因为origin
将是你自己的回购,叉的结果) - 重新分配你想要贡献的原始回购分支之上的分支。
重要的是您的请求导致快速合并。
例如见:- “ 从原始Github存储库中取出新的更新到分叉的Github存储库 ”。
- “ 更新github上的分叉库 ”
- “ 更新的Git工作叉 ”
要添加到Yan和VonC的答案,这是从github本身的一个很好的资源: http : //help.github.com/forking/
另外请务必在“协作”标题下的右侧边栏中查找。
这里有一个伟大的Railscastvideo,引导你完成整个过程。 它还有一些很好的提示,比如说明如何确定在贡献时可能要使用哪个分支,使用testing,子模块等。
虽然这个截屏video主要关注Rails开发人员,但大部分信息对于任何开源项目都是有效的。
lornajane有一个博客文章,解释了这个过程: http : //www.lornajane.net/posts/2010/contributing-to-projects-on-github
Github有很多合作的方式。 大多数项目使用的模型是拉取请求模型。 我已经开始了一个项目来帮助人们做出第一个GitHub拉取请求。 你可以做动手教程, 在这里做你的第一个公关
工作stream程很简单
- 叉在github回购
- 将回购克隆到您的机器
- 做一个分支并做必要的改变
- 把你的改变推到GitHub
git push origin branch-name
fork上 - 去GitHub上的叉子看到
Compare and pull request
button - 点击它,并提供必要的细节