我想为GitHub的某个项目做贡献。我应该用叉子吗?分支吗?有什么建议,怎么做?


当前回答

理想情况下你:

项目分叉 向存储库提交一个或多个注释良好且干净的提交。如果要修改多个部件或特性,可以在这里创建一个新分支。 在github的web界面中执行拉请求。

如果是一个新的Feature请求,不要先开始编码。记得发表一篇文章来讨论新功能。

如果这个特性讨论得很好,并且有一些+1,或者项目所有者批准了它,把这个问题分配给你自己,然后执行上面的步骤。

有些项目不会使用拉请求系统。请与作者或邮件列表联系,了解将代码重新放入项目的最佳方式。

其他回答

理想情况下你:

项目分叉 向存储库提交一个或多个注释良好且干净的提交。如果要修改多个部件或特性,可以在这里创建一个新分支。 在github的web界面中执行拉请求。

如果是一个新的Feature请求,不要先开始编码。记得发表一篇文章来讨论新功能。

如果这个特性讨论得很好,并且有一些+1,或者项目所有者批准了它,把这个问题分配给你自己,然后执行上面的步骤。

有些项目不会使用拉请求系统。请与作者或邮件列表联系,了解将代码重新放入项目的最佳方式。

Lornajane有一篇博客文章很好地解释了这个过程: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github

为了补充Yann的答案,一旦你有了一个项目,你可以在任何你想要的分支中开发(一个新的分支,或者一个来自原始项目的分支)。

记得:

将原始项目添加为远程(不同形式的'origin',因为origin将是你自己的repo, fork的结果) 在你想要贡献的原始回购的分支之上重新建立你的分支。 重要的是,您的拉取请求会导致快进合并。 例如: “从原始的Github存储库拉新的更新到分叉的Github存储库”。 github上的分叉存储库更新 “Git工作分叉与更新”

为了补充Yan和VonC的答案,这是github自己的一个很好的资源:http://help.github.com/forking/

另外,请务必查看右侧栏“协作”标题下的内容。

Github有很多合作项目的方式。大多数项目使用的模型是拉请求模型。我已经启动了一个项目来帮助人们进行他们的第一个GitHub拉请求。你可以在这里通过实践教程来制作你的第一个PR

工作流程简单如

Fork的回购在github 克隆回购到您的机器 创建一个分支并进行必要的更改 在GitHub上将你的更改推送到你的fork上git Push origin branch-name 去你的GitHub上的分叉看到一个比较和拉请求按钮 点击它并给出必要的细节