只知道几乎在顶部看到一对Github用通俗易懂的解释:

你或许不懂怎样造一辆凯迪拉克,但你能够驾驶凯迪拉克。

你或许不懂Evernote是用什么技术做出来的,但你也能够使用Evernote。

你或许不懂Git,但你能够使用Github。



作为想要1小时学会大体使用Github的刚刚学习前端10天的技术盲。我是这样做的:



了解Github的基本功能:也就是为什么用Github。

  • Repository:你和我一起做“知乎首页”,“知乎首页”就是Repository,即项目或者”未来武器T2级425mm磁轨炮“之类,怎么叫随你。你仅仅需知道Repository是个放项目的地方即可。有时候会出现Repositories,是多个Repository的意思。
  • Folk:我们把制作“知乎首页“的工作分开,你负责美工,我负责前端开发,但我们还须要数据server高手。

    你找来了一位php大牛。这位大牛非常快搞定了server端,闲来无事。就看了看我的前端代码。一看。“我靠,这怎么一点也不语义化呢?全是尼玛的清一色的<div>啊,将来做交互js还搞不搞dom了……”于是这大牛在Repository中找到了我写的“zhi.html”,Folk了一份,也就是授权拷贝。

  • Branch:Fork之后,在大牛的Github上出现了一个相同叫做“知乎首页”的Repository。可是这个Repository是复制品,仅仅归他,这就是他的Branch,也就是分支。

  • Pull Request:大牛做完了一份全新的高端zhi.html,点了Pull Request,也就是推送请求。

    我接受了,看了一眼。顿时吃惊爆表,“中国足球——高,实在是高!

  • 如今你懂了,Github的结构是Repository-Branch-(获取/推送)文件。你又发现Github能够比較两个文件的异同。新增的部分用绿色标记,删除的部分用红色标记。Pull Request还能够控制,甚至能够合并Branch。这就是团队合作利器啊,真乃高大上也。手痒了吧?心动了吧?
  1. 请注冊Github并登录。
  2. 下载client并登录。client负责你硬盘上的数据与Githubserver数据的交互,然后设置存储文件夹。为了表现你的才华。你决定将此文件夹命名为“诸神之爹”。
  3. 既然有这么多的国外开源项目。我们国内哪有不自主的道理。必需要实践一下这个顶好赞的Folk功能。

    如今你来到了Fadeoc/frontend
    · GitHub
    ,你看到了这是用户Fadeoc的一个叫做“frontend”的Repository。你笑了,这家伙学习前端知识只是十天。代码一片渣,居然有的代码里仅仅写了“土豆”和“二狗子”几个汉字。

    你点了一下右上角的Folk。然后clone in desktop,保存到“诸神之爹”,哇!文件已经在你电脑里了,全然免费耶!

    +10086。

  4. 一个小时后,你对Fadeoc的渣代码颇有心得,决定帮他改良。不然他这项目就完了。

    你改好之后。Pull Request。这丫的居然说你的代码太渣,不吸收。贱人!老子自己做,抢你市场份额。

  5. 你点了右上角自己头像后面的+号,选择了第一个New repository,即新建repository,而且起了个名字。叫做“完爆Fadeoc”,然后点击绿色buttonset up in desktop,弹出保存框,选择“诸神之爹”。于是“诸神之爹”下出现了一个“完爆Fadeoc”的目录。

  6. 你自己写了一份“神爹首页.html”。把它放在了“完爆Fadeoc”目录下。

  7. 你打开了client,看到client界面中master Branch(主人分支。这名字太云端了)出现了一个Uncommitted changes,即未提交的变动。也就是你刚写的“神爹首页.html”。

    你点开showbutton,在summary(摘要)的部分添上“滚你丫的Fadeoc”,在Description(细节描写叙述)的位置是不是必需写的,但你还是决定添上“爆你菊花”四个大字。

    然后选择“Commit
    to 你的username”。

  8. 为了把这个提交上传到Github上让贱人Fadeoc看到。你点击了client右上角的后面显示了一个“+1”的Sync,即同步,过了几秒,Sync前的两个曲线箭头停止了转动。同步成功了。“+1”消失。表示一个文件成功上传。

  9. 你来到Github,刷新自己的个人页。“完爆Fadeoc”这个Repository出如今页面上,点开它。在里面你看到了”神爹首页.html”。
  10. 为了让这个项目的初始目的更加浅显易懂,你决定加入一个Readme.txt,尽管从前下载的N多软件的目录里总是有一个Readme.txt,你一个都没打开过。

    但在圈里混,就得混的人模狗样的。于是你在“完爆Fadeoc”下新建了一个Readme.txt,里面写上,“Fadeoc。没错。说的就是你,看我口型,你个贱人。”

  11. 相同使用clientcommit。然后sync,过了几秒,刷新github。你看到又多出了一个readme.txt。并且在以下又多出一个文字显示框。里面显示的就是readme.txt里面的内容“Fadeoc。没错,说的就是你。看我口型,你个贱人!

    ”,避免了Fadeoc这个贱人不想打开readme.txt也就看不到你亲切问候的尴尬局面。Github真是贴心呐。

  12. 你复制了这个Repository的地址,Email给了Fadeoc。

  13. Fadeoc不是那么easy被打败的,于是他Folk了你的Repository,改动了readme.txt,然后pull request,你看到fadeoc新生成的branch下的readme.txt被改成了“你才是贱人”。

    你拒绝了合并请求。

  14. Fadeoc再次pull request。readme.txt改成了“敢不做恶吗?”
  15. 你有点烦了,这他妈的怎么才干不让他pull request,将来大项目N多陌生人菜鸟pull request烦不烦。就不能不开源,转私有吗?你最终找到了Github的升级服务,你笑了,将这个Repository从Public转成了Private。Fadeoc肯定会继续pull request,得不到你回应的他仅仅会渐渐被复仇的怒火烧尽理智。但是。谁在乎呢?

Github还有很多其它细节功能。在使用过程中,你会慢慢发现,慢慢学会。

可是无论怎样。如您将使用此Github的基本功能。

版权声明:本文博主原创文章,博客,未经同意不得转载。

如何更好地理解和使用Github的更多相关文章

  1. 通过Ruby On Rails 框架来更好的理解MVC框架

    通过Ruby On Rails 框架来更好的理解MVC框架   1.背景    因为我在学习软件工程课程的时候,对于 MVC 框架理解不太深入,只是在理论层面上掌握,但是不知道如何在开发中使用 MVC ...

  2. dimensionality reduction动机---visualization(将数据可视化帮助我们更好地理解数据)

    如果我们能更好地理解我们的数据,这样会对我们开发高效的机器学习算法有作用,将数据可视化(将数据画出来能更好地理解数据)出来将会对我们理解我们的数据起到很大的帮助. 高维数据如何进行显示 GDP: gr ...

  3. 嗯 第二道线段树题目 对左右节点和下标有了更深的理解 hdu1556

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  4. 帮助你更好的理解Spring循环依赖

    网上关于Spring循环依赖的博客太多了,有很多都分析的很深入,写的很用心,甚至还画了时序图.流程图帮助读者理解,我看了后,感觉自己是懂了,但是闭上眼睛,总觉得还没有完全理解,总觉得还有一两个坎过不去 ...

  5. 技术干货 | 基于MindSpore更好的理解Focal Loss

    [本期推荐专题]物联网从业人员必读:华为云专家为你详细解读LiteOS各模块开发及其实现原理. 摘要:Focal Loss的两个性质算是核心,其实就是用一个合适的函数去度量难分类和易分类样本对总的损失 ...

  6. 【转】七个例子帮你更好地理解 CPU 缓存

    我的大多数读者都知道缓存是一种快速.小型.存储最近已访问的内存的地方.这个描述相当准确,但是深入处理器缓存如何工作的"枯燥"细节,会对尝试理解程序性能有很大帮助. 在这篇博文中,我 ...

  7. 使用IIS建立自己的网站、使用C#编写IIS模拟器,更好的理解Client和Server的relation

    如何在IIS服务器上搭建自己的网站呢,今天带着这问题进行简单的实践一下,并且准备模拟一下IIS服务器工作方式,把这个工作方式搞清楚有利于发展. 1.首先应该进入控制面板=>程序=>添加或删 ...

  8. C#委托的定义 以及使用方式详解,更简单的理解委托。

    委托的声明及定义: 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得 ...

  9. 重温Java泛型,带你更深入地理解它,更好的使用它!

    1. 引言 jdk5.0中引入了Java泛型,目的是减少错误,并在类型上添加额外的抽象层. 本文将简要介绍Java中的泛型.泛型背后的目标以及如何使用泛型来提高代码的质量. 2. 为什么要用泛型? 设 ...

随机推荐

  1. IntelliJ IDEA 14 注册码生成java代码(转)

    https://confluence.jetbrains.com/display/IntelliJIDEA/Previous+IntelliJ+IDEA+Releases 分享几个license: ( ...

  2. 从后台绑定数据到ligerui 的comboBox下拉框组件

    这次来记录一下ligerUI的comboBox下拉框组件,ligerUI的API里也有相关描写叙述,上面都是前台写死数据,然后显示在组件中,我这次要说的是将后台的数据绑定到下拉框组件中,废话不多说. ...

  3. 22个值得收藏的android开源码-UI篇

    本文介绍了android开发人员中比較热门的开源码,这些代码绝大多数能够直接应用到项目中. FileBrowserView 一个强大的文件选择控件.界面比較美丽,使用也非常easy. 特点:能够自己定 ...

  4. 【转向Javascript系列】深入理解Generators

    随着Javascript语言的发展,ES6规范为我们带来了许多新的内容,其中生成器Generators是一项重要的特性.利用这一特性,我们可以简化迭代器的创建,更加令人兴奋的,是Generators允 ...

  5. IL来理解属性

    IL来理解属性   阅读目录 概述: C#中如何定义一个属性 Student类 属性Name Main方法 实现get,set方法 性能 访问权限 回到最开始提出的问题 参考资料 .Net底层剖析目录 ...

  6. 蚁群算法 matlab程序(已执行)

    下面是解放军信息project大学一个老师编的matlab程序,请尊重原作者劳动,引用时请注明出处. 我经过改动添加了凝视,已经执行过,无误, function [R_best,L_best,L_av ...

  7. Nagios经check_http监视web申请书server多个tomcat维修

    怎么样nagios显示器tomcat,它是一个相对简单的和复杂的事情.简单是因为,只有监控的假设web应用服务器tomcat无论是服务正常进行,很简单.假设你要监视tomcat其他例子,例如连接数jv ...

  8. 使用psftp.exe

    使用psftp.exe 点击打开psftp.exe,出现如下图的命令窗口.  

  9. POJ 3100 &amp; ZOJ 2818 &amp; HDU 2740 Root of the Problem(数学)

    题目链接: POJ:id=3100" style="font-size:18px">http://poj.org/problem? id=3100 ZOJ:http ...

  10. IOS加强知识(1)理解力Objective-C

    一直想写一般Objective-C帖子,总是没时间.所以,我希望有一个巨大的知识更小.温馨提示小的变化.写一点点,每天.东西把他们的学习分享,好了废话不多. 1.一门动态的语言OC Object-C( ...