如何在Github上给别人的项目贡献代码
时间:2022-05-30
本文章向大家介绍如何在Github上给别人的项目贡献代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
以开源库YCXMenu为例。
需求
原开源库的菜单item
选中效果是这样的:
我发现这个蓝色的选中颜色并不是很适合我正在做的项目。查看源码,发现没有相关的接口。 在项目主页上看了下,也有人提建议说需要加上这样的功能。
自己动手丰衣足食,let's do it。
Git操作
添加这样的功能并不难,在这里就不做代码分析了。之前没有用过Git的Pull Request
功能,虽然有fork
过几个项目,也还是没有给别人贡献过代码,上网看了一些简单的教程,其实也不难。
-
fork
一下:首先在项目主页上点击Fork
,然后你的github
主页上就会多一个项目仓库。 -
git clone
:这个项目到本地。要修改别人的项目当然要下载到本地拉。 - 修改代码,完善功能。
-
git status
:检查一下改动了那些文件,如果有需要忽略或者增加track
的文件,就git add
,或者编辑vi .gitignore
文件,这个文件的语法在文件里面写的很清除,此处省略。- 编辑完
.gitignore
文件后,用git status
检查一下,如果没有变化,就是缓存没有清除,使用这个命令:git rm -r --cached .
,之后在git status
。
- 编辑完
-
git commit -a -m "Add:balabalabala"
:提交更改,-a
命令,只提交改动,-m
改动说明,说明格式建议如下:
Mod: remove unused code, 表示修改(Modify)
Add: a new module to have faster process, 表示新增(Add)
Rem: deprecate unused modules, 表示移除(Remove)
Ref: improved the implementation of module X, 表示重构(Refactory)
-
git push -u origin master
:提交到远程残酷,至此终端上的操作完成。进入github
网页操作。 - 进入自己的主页,选择这个fork的项目,然后点击
进入pull request
页面,确认提交的更改,确认无误后,开始填写说明。
- 如下,点击
create pull request
来填写说明
用markdown
在这里写下本次提交的说明。
- 至此大功告成啦。接下来就看原作者愿不愿意
merge
你的提交了。
- 基数排序与桶排序,计数排序【详解】
- SG函数和SG定理【详解】
- 密码学经典之生日悖论与生日攻击【详解】
- POJ 1659 Frogs' Neighborhood(可图性判定—Havel-Hakimi定理)【超详解】
- BZOJ 1192: [HNOI2006]鬼谷子的钱袋(新生必做的水题)
- 快速傅里叶变换(FFT)算法【详解】
- Codeforces Round #416 (Div. 2)(A,思维题,暴力,B,思维题,暴力)
- 作为程序员的你在外行人眼里是一个怎样的群体?
- 高斯消元法(Gauss Elimination)【超详解&模板】
- [快学Python3]读写Excel - openpyxl库
- HDU 2147 kiki's game(规律,博弈)
- HDU 1847 Good Luck in CET-4 Everybody!(规律,博弈)
- [network][udp]你不要偷偷发包,我跟你讲
- [快学Python3]HTTP处理 - urllib模块
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法