25

vcjmhg 的个人博客

 3 years ago
source link: https://www.vcjmhg.top/firt-pull-request
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
100

Github 作为程序员最大交友社区,想必每个程序员都不陌生。发起一个 PR 应该是无数 GitHub 初学者的一个小心愿。下边就一步一步来讲述从零到 PR 的整个过程,希望能给初学者以所得。

点个 Star

某日,程序员小吴闲来无事,在 Github 上闲逛,突然遇到了 Test,一见钟情。准备搭个讪,认识一下于是点了个 Star

image.png

此处的 Star:点赞

Star 之后的项目我们可以个人中心的 Your stars 中查看

image.png

发起 Issue

小吴在使用 Test 项目过程发现 Test 项目比较实用,但是也发现了不足,比如没有 README.md 项目自述文件,因此小吴想给该项目加上自述文件,因此他发起了一个 issue 进行讨论,征求开发者意见。

image.png

此处的 issue:问题,一般情况如果感觉在使用该项目过程中遇到问题或者有更好的 idea 都可以发起 issue 来进行讨论。

一般来说如果项目维护者看到你的 issue 之后会进行回应,讨论可行的解决方案

image.png

github 进行交流的过程中,我们常常会遇到下边这些用语,便于大家查看,整理如下图表:

名称 含义 中文含义 WIP Work in progress, do not merge yet 出现在 PR 的标题中,用于提示审核人,项目正在开发中暂时不要合并 LGTM Looks good to me 表示对提交者的赞许,鼓励他更多的参与贡献。 cc Carbon copy 表示抄送的意思,希望某人也能收到,了解相关信息,通过 cc 后续的 @ At 出对应的成员,他可以再自己的通知中收到相关信息。 TL;DR Too Long; Didn't Read. 太长懒得看。也有很多文档在做简略描述之前会写这么一句 PTAL Please take a look. 帮我看下,一般都是请别人 review 自己的 PR DNM Do not merge 不要合并 ACK acknowledgement 我确认了或者我接受了,我承认了 NACK/NAK negative acknowledgement. 我不同意

得到回应之后,小吴便可以开始尝试 Fork 一个分支在本地进行开发。

image.png

此处 Fork:开分支,由于本身小吴没有权限直接操作 Test 的仓库,因此他需要先将 Test 项目在自己账号下边建立起一个分支。在自己的分支下进行功能开发。

小吴接下来创建项目自述文件 README.md 并进行编辑

image.png

编辑完成后,发起 PR

image.png

此处 PR:全程 Pull Request,合并拉取请求,用以发起将自己的分支合并到主干分支的请求,请求对方将你的代码 Merge 到他的主干分支。

项目维护者在查看提交信息后如果满足要求则会进行分支合并。合并完成之后此次 PR 便完成了。

image.png

然后再 Test 项目中的 Contributors 中看到 vcjmhg 的大名 😄

image.png

至此一次 PR 便完成。

希望大家在使用 Github 项目时,要勇敢的发起 Issue,这至少是迈向开源的第一步。可能有时我们会感觉自己水平很菜,但其实每个人都是从菜鸟到大牛逐步迈进的。

我总是告诫自己:“虽然我很菜,但我也要菜出特色。”

分享此处与君共勉!!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK