Skip to content

Latest commit

 

History

History
101 lines (53 loc) · 6.14 KB

如何为本项目提交信息.md

File metadata and controls

101 lines (53 loc) · 6.14 KB

如何通过发PR为本项目做贡献

鉴于很多人对于Git较为生疏,创建一个Pull Request来为本项目增砖添瓦是较为困难的,这里就写上一篇尽可能通俗易懂的文章来帮助没有技术的人创建pr并将你的信息发布到仓库中。

概念补充

什么是fork? 为什么需要fork?

GitHub中Fork 是 服务端的代码仓库克隆(即 新克隆出来的代码仓库在远程服务端),包含了原来的仓库(即upstream repository,上游仓库)所有内容,如分支、Tag、提交。代码托管服务(如Github、BitBucket)都提供了方便完成Fork操作的功能(在仓库页面点一下Fork按钮)。

除非你的账号获得了仓库主的授权,否则你是没有权限来直接编辑该项目中的任何内容的,这时我们可以通过frok操作将仓库复制一份到自己的GitHub账户名下,以便获得完整权限从而对其进行修改。

通过fork,我们可以得到包含完整版本历史的目标仓库的拷贝,之后可以对fork得到的仓库进行任意操作,此时你所做的任何操作不会影响到原始仓库。

如果你需要将你的修改发送到主仓库中,那么你只需要向主仓库发送一个拉去请求即可。

什么是拉取请求(pull request)?

拉取请求是为团队项目或开源项目做贡献的一种方式。

例如,一个名为张三的用户fork了一个属于李四的仓库,然后对自己fork下来的仓库了一些变更,然后张三想把自己做的修改同步到仓库中怎么办呢?

此时李四可以向张三发起一个拉取请求(PR),不过这个请求能否成功接受取决于接收请求一方是否同意,即张三或张三团队是否同意将李四修改后的文件合并到自己的仓库。

操作演示

本次以这个SummaryOfLoanSuspension仓库为例,演示如何通过发送一个PR向该仓库主提交信息

观前提醒:如果你还没有肉身翻墙,那么安全起见非必要不建议使用自己的GitHub大号来提交PR,除非你认为被知道实名无所谓话。

第一步 使用fork功能复制最新的仓库到自己的账户名下

如果你之前fork过了,那么你每次编辑前最好先将最新的仓库拉去过来再开始编辑 图片

进入该仓库,点击fork按钮

图片

点击create fork按钮

图片

此时你的账号下就有一份对该仓库的完整的拷贝了,你将获得随意修改该仓库的权限

图片

第二步 修改自己fork下来的仓库

以我这个为例,我想对仓库的主页文字进行修改,将自己知道的烂尾楼停贷通知添加到仓库中让更多人知道,那么你可以点击这里的铅笔按钮来开始你的编辑

图片

按照下图说明编辑修改文件,请按照标准格式修改,不要乱改,否则你提交的PR很可能不会被仓库管理员接受

图片

如果你需要提交图片又不太懂的话可以在提交PR的时候把图片拖到评论里,热心的管理员大概率会帮助把它你放上去的

第三步 创建commit(提交)

编辑好后在最下方写上相应的

图片

第四步 创建PR合并申请

在此之前请再次检查你的仓库是否是最新的,如果比主仓库落后的话还是要再点击一下Fetch upstream

刚刚对主页文档(README.md)做了一些修改,然后在你的仓库的最上方就可以看到提示说你的这个分支比主仓库提前一个提交,落后3个提交(This branch is 1 commit ahead, 3 commits behind WeNeedHome:main. )

那么此时我们在创建PR之前应该Fetch upstream一下,(如果没有提示xxx commits behind的话就不用走这一步

图片

点击那个按钮后看到提示变为xxx commits ahead的时候就可以创建PR了。

点击Pull requests -> New pull request

图片

点击Create pull request

图片

然后写好关于这个PR拉去请求的说明,最好在这个评论中放上停贷相关的图片证明以提高可信度,最后点击提交就大功告成了,之后等待管理员审核通过后你提交的修改就可以呈现在中央仓库并让更多人看到了。

图片

其它可能的相关问题

我创建了错误的commit,如何回滚?

如果你创建了并提交了错误的commit在你fork下来的仓库的话,一般情况下只能使用git命令行将项目克隆到本地然后reset并强制push来实现回滚了 不会命令行的话也不用着急,删除仓库重新来过也是一种办法。

点击你fork后的仓库的菜单栏上的Settings按钮,翻到最下面,找到Delete this repository,按照提示删除然后照第一步再fork一遍即可。

图片 图片 图片