记录第一次在GitHub提交pull request

起因

最近看到一个博客搭建项目,感觉很不错,项目地址: 蘑菇博客

经过

首先按照说明文档尝试着搭建,并在管理后台页面写了一遍测试文章, 并且选择了halo 下的一个展示主题:halo-theme-fantastic

搭建成功后的博客首页如图:

博客首页

个人还是挺满意这个主题的,但是在文章归档页面却发现了一个明显的bug:


文章归档页面

页面中文章的图片显示异常,点击后跳转链接为文章图片,通过F12查看页面源码:


image.png

发现是页面中的文章跳转链接和文章图片搞反了。

通常查看 halo-theme-fantastic 主题的源代码:

image.png

post.fullPathpost.thumbnail 交换即可,改正后正常显示文章图片,并且正常跳转到文章详情页面:

image.png

结果

所以,终于第一次发现了GitHub上项目的bug并将其修复,惭愧中带点开心~

问题来了,我要怎么把这个修复提交给 halo-theme-fantastic 项目呢?

那就是 pull request 了。

之前工作和学习一直都是在gitlab上同一个代码库提交代码,常用命令就是 pull, push, merge 等,还没有尝试过向其他项目提pull request呢。 看来今天就是给渣渣我的一个好机会。

笔记

经常查询,了解以下操作步骤,特此记录下,参考链接: creating-a-pull-request

1. fork 原始项目

登录 GitHub 网站,找到原始项目 https://github.com/imkundev/halo-theme-fantastic,点击右上角的 fork 按钮

fork

这样就会在你自己的GitHub 上有了一个相同的项目:
自己复制的项目

2. 复制自己的项目到本地

> git clone https://github.com/lyk2655/halo-theme-fantastic.git

3. 将原始项目添加有项目的upstream

> git remote add upstream https://github.com/think-view/halo-theme-fantastic

查看项目情况

> git remote -v
origin  https://github.com/lyk2655/halo-theme-fantastic.git (fetch)
origin  https://github.com/lyk2655/halo-theme-fantastic.git (push)
upstream    https://github.com/think-view/halo-theme-fantastic (fetch)
upstream    https://github.com/think-view/halo-theme-fantastic (push)

4.创建新的分支

> git checkout -b fix-archives-img-href
Switched to a new branch 'fix-archives-img-href'

5. 修改并提交代码

修改 archives.ftl 文件, add, commit后将改动提交到自己GitHub上的项目,也就是 origin 端项目

> git add archives.ftl
> git commit -m "fix archives img and href url"
> git push origin fix-archives-img-href

这样这个改动就会到自己GitHub的项目里了


image.png

6. 向原始项目提交 pull request

提交代码后,自己项目的页面会出现一个 Compare & pull request 的提示

image.png

点击绿色的Compare & pull request 按钮,注意base 端选择 原始项目的 master分支, head 端选择自己项目的新分支。

image.png

然后写好说明,点击提交就可以了,这样就可以慢慢的等待原始项目的开发者审核你的pull request, 如果通过的话,我们的代码改动就会被合进原始项目里了。


image.png
image.png

虽然这次只是改动了一点点代码,但能够有机会走一次完整的 pull request 请求,也是很开心,尤其是自己比较感兴趣的一个项目。


image.png

慢慢的等候,期待原始项目的大佬能通过我的pull request~

参考链接:
蘑菇博客
halo-theme-fantastic 主题
creating-a-pull-request 教程

你可能感兴趣的:(记录第一次在GitHub提交pull request)