我想为GitHub中的某个项目做贡献。我应该叉吗?分支吗?推荐什么,怎么做?
我想为GitHub中的某个项目做贡献。我应该叉吗?分支吗?推荐什么,怎么做?
Answers:
理想情况下,您:
如果是新功能请求,请不要先开始编码。请记住发布一个问题来讨论新功能。
如果对该功能进行了很好的讨论并且有+1或项目所有者批准了该功能,则将问题分配给自己,然后执行上述步骤。
一些项目将不使用拉取请求系统。请与作者或邮件列表联系,以获取使代码重新回到项目中的最佳方法。
要添加到Yann的答案中,一旦您分叉了一个项目,就可以在所需的任何分支中进行开发(一个新分支,或原始项目中的一个分支)。
记得:
origin
”,因为origin
这将是您自己的存储库,因此需要派生)git checkout master;
git pull;
对于开发(同样地合并了我的功能分支),我可以想到的差异在阅读了“ pull vs pull --rebase”和“ merge vs rebase”之后,这只是历史。还有什么更深的吗?
为了增加Yan和VonC的答案,这是github本身的一个很好的资源:http : //help.github.com/forking/
另外,请务必在右侧的“协作”标题下查看。
Github有许多与项目合作的方式。大多数项目使用的模型是请求请求模型。我已经启动了一个项目,以帮助人们提出他们的第一个GitHub Pull请求。您可以在这里进行动手教程,以进行首次公关
工作流程很简单
git push origin branch-name
Compare and pull request
按钮lornajane的博客文章很好地解释了该过程:http : //www.lornajane.net/posts/2010/contributing-to-projects-on-github
我建议以下工作流程:
克隆(在命令行中)
git clone <url-from-your-workspace>
输入刚刚创建的目录,然后创建一个分支
cd <directory>
git checkout -b <branchname>
现在进行更改
您可以在每次更改后创建一个或多个提交:
commit -a
完成后,推送您的更改
git push origin <branch>
在命令行中,您应该看到一个用于创建PR的URL。访问URL,然后单击按钮创建PR。
如果不是,请在浏览器中访问存储库,它将为您提供用于创建拉取请求的按钮
而已。
因此,基本上,您将存储库分叉到工作区,创建了一个新分支,然后将该新分支推送了。
如果以后您从相同的克隆存储库中获取更多PR,则应在创建另一个PR的另一个分支之前进行同步(从原始存储库中获取最新更改):
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
这些建议可以帮助您避免将工作放入不会合并的PR中的麻烦。如果项目中有活动并且PR被合并,这是一个好兆头。如果有贡献准则,请遵循它们。
永远保持礼貌。请记住,项目的维护者绝没有义务合并您的PR。您是否有可以添加到项目中的有价值的东西?