0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何为GitHub这些项目贡献代码呢?

5RJg_mcuworld 来源:未知 作者:李倩 2018-10-29 16:12 次阅读

码农朋友们都知道,GitHub是一个面向开源及私有软件项目的托管平台,上面托管了众多的优秀的项目,比如Linux内核源码、Git源码、机器学习框架Tensorflow等等。当然,除了这些顶尖项目外,还有海量的高手开发的优秀项目。所有的这些项目,我们都可以为它贡献代码。

那么,要如何为这些项目贡献代码呢?我们下面以实例来讲解。

比如说,现在GitHub上有个很牛逼的项目githubTest,它的作者是Alvin,项目地址如下:https://github.com/yychuyu/githubTest。

现在Harry看到了这个项目,想要对它进行贡献代码。想要达到这个目的,Harry要完成下图的这些步骤:

1. fork

Harry在找到这个项目之后,点击右上角的「fork」按钮。稍等片刻后,就会在Harry的账号下克隆了一个一样的项目githubTest,包括文件、提交历史、issues、和其余一些东西。

2. clone

通过fork之后,Harry的账号下也有了githubTest这个项目,但还不能对它进行编译、修改(其实是可以修改,但是不建议)。

这时,可以通过git clone命令,将这个项目clone到自己的电脑里。

3. update a file & 4. commit

接下来,Harry就可以大显身手了,可以自由对这个项目进行修改。

但是,不建议在master分支直接修改,建议在master分支基础上切出一个dev分支,然后在dev分支上自由发挥。修改完之后,再将dev分支merge到master分支。

5. push

在自己的电脑上修改好代码之后,再使用git push命令将改动同步到自己的GitHub项目仓库里。

通过这个操作后,就可以在代码仓库里看到自己的提交了。

6. pull request

接下来,就是向原作者Alvin提交你的代码了。首先点击文件列表上的「New pull request」。

之后,GitHub会自动对源仓库分支及自己仓库分支代码进行比对,看看是否有冲突。如果它显示「Able to merge」的话,Harry就可以点击下面的「Create pull request」绿色按钮,进行代码提交。

再之后,系统会要求你写一段注释,其实也可不写。但最好写一下,跟作者说明一下你改动了什么,为什么这么改。

通过以上6步,原作者Alvin就会收到一个pull request,如下图:

然后,Alvin可以点进去,看看Harry具体提交了一些什么修改。如果他觉得这个修改确实够niubility的话,它就可以点击「merge pull request」,将Harry的提交集成到自己的项目里。

至此,功德圆满,Harry顺利完成一次对项目githubTest的代码贡献。

但是,这个项目实在太出众了,很多高手看到了并贡献了众多代码。比如现在Alvin自己提交了一个文件:

现在原作者项目已经发生了改变,那Harry账号下的githubTest如何与原作者Alvin的项目保持同步呢?Harry需要做以下三步操作:

1. fetch

现在代码不同步了,我们要先把Alvin仓库的代码fetch到自己电脑的仓库下。注意,这是在自己电脑上操作,不是在GitHub上操作。

gitfetchgit@github.com:yychuyu/githubTest.gitmaster:latest

上面这条命令,git fetch 之后的那部分,是原作者Alvin项目git地址,通过点击原项目「clone or download」按钮可以看到。再之后master:latest这部分,master是原项目分支,latest是自己项目分支。

如果latest分支不存在的话,将自动创建。其实也可以将代码fetch到自己的master分支,但也不建议这么做。

2. merge

代码fetch到latest分支之后,再切到master分支,再使用git merge命令将最新代码合并到master分支。

3. push

现在,Harry电脑上的代码与原项目代码保持同步了。我们再使用git push命令,就可以将最新代码推到Harry账号下githubTest项目里。

以上的三个步骤具体操作过程如下图示:

接下来,Harry就可以在此基础上,继续贡献自己的代码了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8304

    浏览量

    131822
  • GitHub
    +关注

    关注

    3

    文章

    461

    浏览量

    16227

原文标题:如何在 GitHub 上大显身手?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    教你如何快速在Github上为RT-Thread贡献代码

    我们真诚地感谢您的贡献,欢迎通过 GitHub 的 fork 和 pull request 流程来提交代码(文末有1024节福利)。
    的头像 发表于 10-26 06:17 7214次阅读
    教你如何快速在<b class='flag-5'>Github</b>上为RT-Thread<b class='flag-5'>贡献</b><b class='flag-5'>代码</b>

    上传本地项目代码github

    概述 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。本文主要讲解如何将本地代码上传至
    发表于 09-11 16:33

    Github发布史上最大更新

    看好Github以后的走向,出了很多调侃。比方说充值会员才能搜索下载项目,但是从这几个月的风声来看其实一切都发展的还不错。就在上个月的时候Github刚做过一个更新,他们改版并放弃了jQuery,这可
    发表于 10-17 10:03

    【直播回顾】战码先锋第七期:三方应用开发者如何为开源做贡献

    6月23日晚上19点,战"码"先锋第7期直播 《三方应用开发者如何为开源做贡献》 ,在OpenHarmony社群内成功举行。本期课程,由华为开发者联盟年度牛人,知名up主九弓子
    发表于 06-24 11:23

    来自GitHub的安全威胁应该如何应对

    GitHub是超级流行的源代码管理平台,公司和个人都在用GitHub存储和管理源代码,保持软件开发项目平稳进行。
    发表于 05-14 08:18 1092次阅读

    github是什么_github有什么用

    gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHubgitHub于2008年4月10日正式上线,除了git
    发表于 11-29 16:19 2.1w次阅读

    github入门到上传本地项目步骤

    GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个
    发表于 11-29 16:51 2175次阅读

    github使用教程_github菜鸟教程

    GitHub 拥有一个非常鼓励合作的社区氛围。这一方面源于 GitHub 的付费模式:私有项目需要付费,而公共项目完全免费。这意味着 GitHub
    发表于 11-29 17:22 1.5w次阅读
    <b class='flag-5'>github</b>使用教程_<b class='flag-5'>github</b>菜鸟教程

    2018 年 2 月份 GitHub 上最热门的开源项目

    2 月份 GitHub 上最热门的开源项目又出炉了,又有哪些新的项目挤进热门榜单了,一起来看看。
    的头像 发表于 03-23 08:53 4558次阅读

    如何从GitHub存储库下载代码

    Github下载代码的最简单方法是通过点击“ 下载Zip 下载整个zip文件中的代码
    的头像 发表于 09-24 09:11 9157次阅读
    如何从<b class='flag-5'>GitHub</b>存储库下载<b class='flag-5'>代码</b>

    微软北极代码项目,GitHub代码可存储500年

    继成功研制玻璃存储器后,微软的忧患意识又转移到了旗下的GitHub中,在本周在旧金山举办的GitHub Universe大会上,雷德蒙德巨头宣布推出北极代码项目
    的头像 发表于 11-15 10:06 2567次阅读

    GitHub无故封禁开源项目引网友不满 都是开源代码受管制惹的祸?

    近日,微软的开源项目 JavaScript 框架 Aurelia 不小心被 GitHub 封禁了,理由是项目中有两名来自伊朗的外部贡献者。虽然 Gi
    的头像 发表于 03-24 08:57 3864次阅读

    如何对OpenHarmony贡献代码

    互联产业的繁荣发展。 目前代码仓托管在 gitee 上,官方地址: https://gitee.com/openharmony 下面主要来讲讲如何对 OpenHarmony 贡献代码。 fork
    的头像 发表于 09-28 09:58 1347次阅读
    如何对OpenHarmony<b class='flag-5'>贡献</b><b class='flag-5'>代码</b>

    上传本地项目代码github

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。本文主要讲解如何将本地代码上传至
    的头像 发表于 11-14 16:45 984次阅读
    上传本地<b class='flag-5'>项目</b><b class='flag-5'>代码</b>到<b class='flag-5'>github</b>

    如何使用Github高效率的查找项目

    GitHub各位应该都很熟悉了,全球最大的开源社区,也是全球最大的同性交友网站~~,但是大部分同学使用GitHub应该就是通过别人的开源链接,点进去下载对应的项目,而真正使用Github
    的头像 发表于 09-24 14:43 570次阅读
    如何使用<b class='flag-5'>Github</b>高效率的查找<b class='flag-5'>项目</b>