我想为GitHub的某个项目做贡献。我应该用叉子吗?分支吗?有什么建议,怎么做?
当前回答
技术工作流程
我建议采用以下工作流程:
Fork the repository (via GitHub web interface: "Fork" button) In your forked repository, copy the URL Clone (in the command line) git clone <url-from-your-workspace> Enter the directory, that just got created, and create a branch cd <directory> git checkout -b <branchname> Now make your changes You can create one or more commits after each change: git add .; git commit When done, push your changes git push origin <branch> In your command line, you should see a URL to create the PR. Visit the URL and click the button to create a PR. If not, visit the repository in the browser and it will offer you a button for creating the pull request
就是这样。
因此,基本上,您将存储库分叉到您的工作区,创建一个新分支并推送该新分支。
如果你以后从同一个克隆的repo中创建了更多的PR,你应该在为另一个PR创建另一个分支之前进行同步(从原始存储库中获取最新的更改):
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
其他注意事项:
项目可能有贡献指南:寻找一个文件贡献。RST或。md 您可能需要遵循项目的编码指南 你可能想先把你的想法提纲出来 你可以查看项目的Pull Requests选项卡,检查是否有开放的PR,合并的PR
这些建议可以帮助你避免将工作放入无法合并的PR中。如果项目中的活动和PR被合并,这是一个好迹象。如果有捐款指南,请遵循它们。
永远要有礼貌。请记住,项目的维护者没有义务合并您的PR。您是否有一些有价值的东西要添加到项目中?
其他回答
为了补充Yann的答案,一旦你有了一个项目,你可以在任何你想要的分支中开发(一个新的分支,或者一个来自原始项目的分支)。
记得:
将原始项目添加为远程(不同形式的'origin',因为origin将是你自己的repo, fork的结果) 在你想要贡献的原始回购的分支之上重新建立你的分支。 重要的是,您的拉取请求会导致快进合并。 例如: “从原始的Github存储库拉新的更新到分叉的Github存储库”。 github上的分叉存储库更新 “Git工作分叉与更新”
技术工作流程
我建议采用以下工作流程:
Fork the repository (via GitHub web interface: "Fork" button) In your forked repository, copy the URL Clone (in the command line) git clone <url-from-your-workspace> Enter the directory, that just got created, and create a branch cd <directory> git checkout -b <branchname> Now make your changes You can create one or more commits after each change: git add .; git commit When done, push your changes git push origin <branch> In your command line, you should see a URL to create the PR. Visit the URL and click the button to create a PR. If not, visit the repository in the browser and it will offer you a button for creating the pull request
就是这样。
因此,基本上,您将存储库分叉到您的工作区,创建一个新分支并推送该新分支。
如果你以后从同一个克隆的repo中创建了更多的PR,你应该在为另一个PR创建另一个分支之前进行同步(从原始存储库中获取最新的更改):
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
其他注意事项:
项目可能有贡献指南:寻找一个文件贡献。RST或。md 您可能需要遵循项目的编码指南 你可能想先把你的想法提纲出来 你可以查看项目的Pull Requests选项卡,检查是否有开放的PR,合并的PR
这些建议可以帮助你避免将工作放入无法合并的PR中。如果项目中的活动和PR被合并,这是一个好迹象。如果有捐款指南,请遵循它们。
永远要有礼貌。请记住,项目的维护者没有义务合并您的PR。您是否有一些有价值的东西要添加到项目中?
这里有一个很棒的Railscast视频,它会带你走过整个过程。它还提供了许多不错的技巧,比如展示了如何确定您在贡献时可能想要在哪个分支上工作、使用测试、子模块等。
虽然本文主要针对Rails开发人员,但大部分信息对于任何开源项目都是有效的。
Lornajane有一篇博客文章很好地解释了这个过程: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Github有很多合作项目的方式。大多数项目使用的模型是拉请求模型。我已经启动了一个项目来帮助人们进行他们的第一个GitHub拉请求。你可以在这里通过实践教程来制作你的第一个PR
工作流程简单如
Fork的回购在github 克隆回购到您的机器 创建一个分支并进行必要的更改 在GitHub上将你的更改推送到你的fork上git Push origin branch-name 去你的GitHub上的分叉看到一个比较和拉请求按钮 点击它并给出必要的细节
推荐文章
- 在GitHub上链接到其他Wiki页面?
- “git diff——耐心”是什么意思?
- 你如何跟踪你对GitHub问题的评论?
- 我如何在GitHub中为其他人的代码做出贡献?
- 签出旧的提交并使其成为新的提交
- GitHub项目和里程碑之间的区别/关系是什么?
- gitignore是什么?
- Git从另一个目录克隆
- 在MarkDown中包含SVG(托管在GitHub上)
- 如何获得我的代码的最新版本?
- 如何在git中找到原始/master的位置,以及如何更改它?
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?