如何在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你的提交了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏嵌入式程序猿

快速学会web Server的裁剪移植

前几次给大家讲过freeRTOS的移植,不管是在我们移植好的,还是KSDK移植好的BSP里都有server的演示程序,KSDK里面使用lwip开源TCP/IP协...

3076
来自专栏编程

移动Web性能测试笔记之二

收集整理 @2017/12/21 Chrome浏览器Network面板http请求时间分析 Chrome浏览器开发者工具Network窗口下,可以查看下载各组件...

1799
来自专栏北京马哥教育

ansible基础应用

一、运维主要工作 ? ansible聚集以上功能于一身,能够完整轻易的实现应用部署和批量命令功能,适用于主机数量不太多,再大的用puppet。 二、ansib...

3897
来自专栏北京马哥教育

生产环境之“进程”两字

一、进程概念 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程UID、GID、和SELinux...

3668
来自专栏Java成神之路

Maven之 环境搭建

这几天开始了maven的学习,看了孔浩老师的视频(http://pan.baidu.com/s/1o7bg2h0),以及黄勇大牛的博客(http://my.os...

2181
来自专栏Java3y

Linux用户和权限管理看了你就会用啦

没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再整理一下。

3.2K1
来自专栏dotnet & java

这可能是最low的发布dotnet core站点到centos7教程

不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash。。我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的。

923
来自专栏源哥的专栏

在struts中使用国际化(i18n)

在struts中使用国际化(i18n)     i18n可以满足对系统的国际化,它的原理就是将页面上的所有标志都放到一个消息资源文件中,不同的语言要提供不同的消...

752
来自专栏从流域到海域

在CentOS 7上安装Magento

在这篇教程中,您将学习如何在CentOS 7上安装Magent。Magento Community Edition(CE,即社区版)是一个免费的开源电子商务平台...

6526
来自专栏FreeBuf

闲聊Windows系统日志

最近遇到不少应急都提出一个需求,能不能溯源啊?这个事还真不好干,你把证据,犯案时间都确定的时候,要求翻看监控(日志)对应犯罪嫌疑人时,突然说监控(日志)没有记录...

1.1K0

扫码关注云+社区

领取腾讯云代金券