我如何在GitHub中为其他代码做贡献?

我想为GitHub中的某个项目做出贡献。 我应该分叉吗? 呢? 什么是build议和如何做到这一点?

理想情况下你:

  1. 分叉项目
  2. 做一个或多个很好的评论和干净的提交到存储库。 如果您要修改多个零件或function,则可以在此创build一个新的分支。
  3. 在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 requestbutton
  • 点击它,并提供必要的细节