如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改

摘要:
作为一名IT人员,通过GitHub学习是增长最快的方式。如何贡献你的力量?首先,您必须拥有自己的github帐户。注册一个非常简单。您只需要用户名、电子邮件地址和密码。电子邮件仅用于检索您的密码,无需验证。然而,github完全允许您在线修改、提交和合并。如果您有条件,您必须学习如何使用TortoiseGit或SublimeText2在本地下载github项目,修改它们,提交它们,并请求它们!最后,您将看到您在原始项目中贡献的代码!如何使您的项目与原作者的项目保持同步!这也是github的最大价值!

作为一个IT人,通过GitHub进行学习是最快的成长手段。我们可以浏览别人的优秀代码。但只看不动手还是成长得很慢,因此为别人贡献代码才是明智之举。比如我们看下片看,许多大片都是由字幕组免费翻译压制的。为什么他们要这样做呢?因为他们都是聪明的大学生,为了提高听力水平,提高笔译水平才这样干的!中国人都是非常实务的!因此贡献代码,参与开源项目都是有益无害的!好了,让我们开始吧!

如何贡献自己的力量

首先你总得有自己的github帐号吧,注册一个,非常简单,只需用户名,邮箱,密码,邮箱只是用来找回密码的,不做验证。因此注册后立即能用!比如我现在新注册一个叫JsLouvre的示范帐号。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第1张

然后搜索我的项目——mass Framework

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第2张 如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第3张

第一个就是,点击进入项目,然后点上方的Fork按钮,这就拷贝一份我的项目的副本作为你自己的项目

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第4张如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第5张

创建成功!

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第6张 如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第7张

接着就是修改代码了,这要在自己发现真的存在漏洞或有什么改进之处才要动手啊!不能想改就改。要通读你要改的那一部分,必要时通读全框架。因此新手们最好找国内高手的框架进行学习, 一来中文注释比较亲切,二来也方便接下来的交流。通常我们在clone git到本地进行修改的,这又涉及另外一些工具与命令的学习。不过,github完全允许你在线上进行修改,提交,合并。

比如你发现data模块的注释与mass模块的不一样,要统一合并,将函数外的注释移到里头。(更有意义的方式是,打开http://www.jshint.com/,就能发现许多小问题。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第8张如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第9张

变成编辑状态,不过不太好用。大家有条件一定要学学如何使用TortoiseGit或Sublime Text 2下载github项目到本地,进行修改,提交,pull request啊!

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第10张 如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第11张

请认真写下你的修改日志,方便原框架作者查阅。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第12张

修改成功后的样子:

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第13张

接着下来一步非常重要,就是提交你的修改给原作者。点击上方的pull request按钮!

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第14张 如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第15张

红色区域为原作者的项目,你要贡献的目标;亮蓝色区域为你的项目;黑色处填写标题与必须描述;点击右下方绿区域的按扭进行提交!



接着下来就是框架作者的事儿了,我会在自己的项目看到你们的提交。万一以后你们有幸被别人贡献代码,也做这活儿。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第16张

点击中间那个大大的pull request(2)的按钮到另一页面,中间有个被鲜绿色高亮的merge pull request按钮。作者查看你的修改,觉得可以就点它进行合并。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第17张如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第18张

最后你们就会在原项目上看到自己贡献的代码!

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第19张


如何让自己的项目与原作者的项目保持同步!

我经常看到许多人,只会fork一次,提交过一次修改就不知怎么办了!因此原框架作者是非常勤奋的,一天会提交N次,一个星期后许多文件都改动过了,而那些代码贡献者不可能一个个跟着修改。 因此我们还是用到上方的pull request按钮。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第20张如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第21张

这次是把自己的项目放到左边,原框架作者放到右边,在选择过程中,你会发现原框架作者有许多贡献者的。这里我希望大家一定要浏览Commits与Files Changed进行学习!这也是github最大的价值所在!把握别人对代码的改进,最能提高我们编码水平。这里面会涉及大量的编码技巧!

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第22张

补上必要说明,然后点击下方send pull request按钮。

很快你就看到评论区最下方有个鲜绿色高亮的按钮,继续点就是。

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第23张

继续让你确认,没问题就继续点!

如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改第24张

这样就同步成功!

GitHub 教程系列文章: 

通过GitHub创建个人技术博客图文详解  http://www.linuxidc.com/Linux/2015-02/114121.htm

GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

GitHub 的详细介绍请点这里 
GitHub 的下载地址请点这里

免责声明:文章转载自《如何在GitHub上fork一个项目来贡献代码以及同步原作者的修改》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于Vware软件下Linux系统闪屏问题Altium Designer 13 插件安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python学习之模块进程函数详解

  今天在看《Beginning Linux Programming》中的进程相关部分,讲到Linux几个进程相关的系统函数: system , exec , fork ,wait . Python的 os 模块实现了对应的函数封装了这些系统调用: os.system , os.exec , os.fork , os.wait,本文和大家分享的就是这部分内...

Linux C errno出错处理

1. 出错处理errno 每个进程维护一个全局整型变量errno, 记录系统(调用)的最后一次错误代码. errno及其常量值定义位于<errno.h>.以前, errno不是线程安全的, 其定义是: extern int errno; 现在, 为支持多线程环境, errno定义是: extern int *__errno_location(...

前端UI框架小汇总

前言: 近期,小弟根据GitHub、前端社区、掘金等平台对当前流行的前端UI框架的进行了小小的整理和汇总(ps:前端UI框架的应用是通过GitHub star数,社区热度和使用范围等进行的粗略的汇总【不分先后】)。希望对寻找UI框架的小伙伴们提供点帮助。 以下对前端UI框架的移动端、PC端和混合APP的应用进行了列举。 移动端UI框架 Mint UI(饿了...

初探PHP多进程

    准备 我们都知道PHP是单进程执行的,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,但PHP实现多进程也意义重大,尤其是在后台Cli模式下处理大量数据或运行后台DEMON守护进程时,多进程的优势不用多说。 PHP的多线程也曾被人提及,但进程内多线程资源共享和分配的问题难以解决。PHP也有多线程想关的扩展 pthread...

gitlab的fork及源项目的同步

此篇大部分貌似是cp其他地方的,也忘了出处,写到此处,权当保存,见谅。 测试代码master同步到生产代码master #现有git@gitlab.home.com:root/fork.git项目,fork该项目,得到git@gitlab.home.com:test/fork.git项目。接下来需要实现test/fork同步源项目root/fork: (1...

逆向映射的演进

在此向郭大侠致敬。 一、前言 数学大师陈省身有一句话是这样说的:了解历史的变化是了解这门学科的一个步骤。今天,我把这句话应用到一个具体的Linux模块:了解逆向映射的最好的方法是了解它的历史。本文介绍了Linux内核中的逆向映射机制如何从无到有,如何从笨重到轻盈的历史过程,通过这些历史的演进过程,希望能对逆向映射有更加深入的理解。 二、基础知识 在切入逆向...