【git】first pull request(already merged)

在使用 Hexo + github 搭建博客平台之后,更换主题为cactus,一款黑色背景的护眼主题,发现存在不完善的地方,于是本着对其进行完善的目的,顺便学习 create pull request (也就是当github上的开源项目在使用过程中出现个性化的需求,便可以通过fork定制符合个人需求的版本,或者通过pull request完善其功能)

PS: 关于git分支,每次创建git仓库或者fork原始仓库,都会默认创建一个master分支,一般情况下对于自己创建的仓库都是直接使用git push origin master直接更新master分支内容,而当我们需要修改他人的远程仓库的内容,由于权限问题只能通过创建pull request,提交修改,理论上可以直接将自己master分支的修改创建pull request,但一般都是创建一个专门用于pull request的分支,这样就能保持master分支一些定制化的设置,所以更通用更新远程仓库(自己的远程仓库或他人的远程仓库)的方法是统一使用创建pull request的方法,对于自己的远程仓库可以自己merge,虽然这样显得有些麻烦,但是通用。所以更新个人远程仓库的两种方法:1. git push origin master, 2. create pull request.

Goal

为使用hexo s启动遇到的”bad indentation”问题创建pull request屏幕快照 2019-02-17 07.52.08

Guide

fork original repository

进入hexo博客目录

屏幕快照 2019-02-16 01

删除themes目录下的cactus主题:rm -rf themes/cactus

fork原始仓库

屏幕快照 2019-02-16 02

clone个人远程仓库到themes目录

屏幕快照 2019-02-16 03

重命名:mv hexo-theme-cactus cactus

checkout a branch & modify

创建并进入pull request专用分支:git checkout -b branch-tony

修改languages/zh-TW.yml:找到page: %d / %d改为page: 第 %d 頁,共 %d 頁

提交代码到pull request专用分支:branch-tony

屏幕快照 2019-02-17 08.13.03

create a pull request

这时看到github个人远程仓库中多了一个branch,点击Compare & pull request

屏幕快照 2019-02-17 08.17.02

编辑并Create pull request(编辑忘记截图)

屏幕快照 2019-02-17 08.30.24

complete & wait for merger

完成,等待原作者的comment & merge

总结:当我们使用github上的开源项目发现有bug而自己又能修复时,需要:1.先把原始仓库fork到个人远程仓库(注意这时个人远程仓库与原始仓库是独立的两个仓库);2.git clone到本地;3.创建pull request branch,修改并push到远程仓库pull request branch;4.在github上create pull request(注意上方教程直接create pull request到原始仓库,实际上个人远程仓库中没有改变,这时可以再create pull request到个人远程仓库,一般建议创建pull request branch修改再create pull request,这样能保持个人远程仓库定制化的配置。)

Reference

创建 Pull Request

如何使用github中的pull request功能?