之前也用过github管理过自己的项目,但没有参与过他人的开源项目,这次有机会参与他人的项目,根据要求,需要为该项目提供一篇文章,并发起Pull Request,仅以此文记录。
什么是Pull Request ? 请参考知乎高票回答:GitHub 的 Pull Request 是指什么意思?
好了,正式开始。
1、首先,我们要参与他人的开源项目,并为之做贡献,首先需要 Fork 对方的项目。为什么呢?很好理解,因为你没有权限直接去修改别人的代码。所以,需要先 Fork 对方的项目,那样你自己的GitHub账号上,就有了一份该项目的备份。本文中,我们需要 Fork 的是 TrueChain/wiki 项目:
1.png
2.png
图2显示的就是开源项目TrueChain/wiki ,点击右上角的 Fork 按钮,那样我们自己的账号上就有了备份:
3.png
图3左上角的信息,显示了我自己的GitHub账号下的wiki,以及该 wiki 从何处 Fork 而来。
2、接着,我们需要把我们自己账号下的这个 wiki 项目 clone 到本地仓库,然后在本地仓库进行操作,最后提交到我们账号下的远程仓库 wiki 。
2.1 在电脑上新建文件夹 Fairy , 打开终端,cd 进这个文件夹,然后把我们自己账号下的这个 wiki 项目 clone 到 Fairy 文件夹。
4.png
2.2 参加开源项目的时候,要养成好习惯,为特定的功能新建分支。我在这里新建了一个 yyg_branch 分支,并切换到了此分支。下面,我需要在 wiki 项目中的 task_list/task_20180601 目录下,新增一个文件。有两种做法,一种是继续使用终端命令行,切换到该目录,新建文件;另外就是直接电脑上建好文件,然后拖到我们本地仓库 Fairy 文件夹中 wiki 项目下的 task_list/task_20180601 目录。我用的是后一种方法。
2.3重新回到终端,输入status命令查看工作区的变化,发现文件已经添加进来了,然后使用add和commit命令,把新增的文件提交到本地仓库。
5.png
2.4 把本地仓库的改动,用push命令推送到我们的GitHub账号下的wiki 远程仓库。这里遇到个突发情况,push 失败,提示说:remote : Permission to YangYegao/wiki.git denied to Zhaoran521。what ?黑人问号脸。原来,我之前使用过别的GitHub账号 Zhaoran521 提交过代码,而我用的是mac电脑,mac电脑有个keychain的应用即钥匙串访问,这里存储了github先前访问的密码,所以每次push的时候都会读取这个本地用户名及密码,我的 git 操作是要 push 到 YangYegao/wiki.git,但电脑读取的账号信息是Zhaoran521,不匹配,所以报错。这个解决方案其实很简单:打开Finder ----> 应用程序 ---->实用工具 ---->钥匙串访问 ---->双击,即可进入到钥匙串访问记录保存页面,选择github.com名称的应用,右键删除即可。最后,回到终端,再次push代码,会提示重新输入用户名及密码,输入github账号及密码即可。
6.png
3、提交成功后,回到我们的GitHub页面,发现页面刷新了,变成这样:提示我们GitHub账号下的wiki 远程仓库,与开源项目TrueChain/wiki相比,存在不同:
7.png
4、点击 Compare & pull request 按钮,跳转到下图所示界面:
8.png
填写相关资料,点击“Create pull request”按钮,即可发起本文开头提到的 Pull Request。剩下的事情,就是开源项目管理者的事情了,他会收到我们的 request ,然后他会根据自己的情况来处理这个request。
网友评论