【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
Guide
fork original repository
进入hexo博客目录
删除themes目录下的cactus主题:rm -rf themes/cactus
fork原始仓库
clone个人远程仓库到themes目录
重命名: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
create a pull request
这时看到github个人远程仓库中多了一个branch,点击Compare & pull request
编辑并Create pull request
(编辑忘记截图)
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,这样能保持个人远程仓库定制化的配置。)