文章转载自http://blog.csdn.net/loadsong/article/details/51591407

看到一篇关于GitHub的文章,感觉不错,因此转载来以备推敲学习。

不会用 Git ,就不能用 github 吗? 不是这样的。Github 的网站上通过网页操作就已经能实现很多强大的版本控制功能了,来一起看一看。

从注册开始

来到 http://github.com 的首页,就可以看到下面的注册界面:

填写自己的用户名邮箱,再设置一个妥妥的密码,点击 Sign up for Github 按钮,世界就属于你了。对于开源项目 github 是免费的,所以不用管付费相关的内容。接下来初次注册的用户会看到一共四步的 github 使用教程。

今天主要介绍第二步,其他几步回头另行介绍。所以这个四步走,稍微看一下,关了就行了。以后可以到http://help.github.com 找到这些内容。另外你可能还会看到要求新用户去验证一下邮箱地址的提示,这个简单,到邮箱之中找到验证邮件,点一下里面的链接就可以了。

最后一步来给自己添加一个头像吧,github 是一个真正的交朋友的地方,每次你发评论或者写代码都是代表一个活生生的人格。

登录后的用户都可以找到”设置“的图标,一个小齿轮,点一下,默认看到的就是 Profile(个人信息),选择图片上传就可以了。

创建项目仓库

Github 上操作虽多,但是都是围绕一个个的项目展开的。

一个项目其实就是一个文件夹,里面放着所有的项目文件,可以是代码,也可以是任意的文档。但是在 github 这里,每一个项目都不仅仅是最新版本的代码,还保持着所有的历史版本和修改记录,当然这个后台就是通过 Git 来实现的。Github 上的项目有一个新名称,叫 ”仓库“ ( repository )。说白了,一个仓库就是一个用 git 进行了版本控制的项目。

点一下页面左上角的小猫图标,就可以到达 dashboard (控制面板),这个词本来的意思是汽车上的仪表板,日常所有的操作都在这里做。

下图左侧,图标1处,可以看到相关项目的最近更新,右侧图标2处,是我自己的项目列表。现在我要创建一个项目,要点3处这个按钮。

这就到达了新建项目的页面:

注意要勾选 Initialize this repository with a README ,然后创建这个项目。也会看到 Create
Repository
 按钮的上方还有两个选择框,一个是关于 .gitignore 的,另一个是关于 LICENSE 的。这两项如果选择了就是在项目中又多了两个文本文件,一个是
.gitignore 文件,另一个是 LICENSE 文件,暂时都不选就可以,回头需要了可以自己用编辑器新建。

编辑项目

创建项目完成后,就会跳转到 https://github.com/happypeter/coco 这个页面。这里的几乎每一个可以点的地方都会涉及到一个新概念,不用着急,后面咱们都会介绍到。先来瞄准一个最为重要的,叫
commit,如图中所指:

每次项目修改后,点击 commit 按钮就可以生成一个新的版本。commit 英文的基本意思是执行某个重要的事情,例如 commit suicide,自我了断。但是在 git 这里,做动词讲的时候是保存版本,当名词讲就是版本。

现在就来编辑一下。点击上面图中,项目名 coco 右侧的加号,进入下面界面。

来新建一个文件叫 love.md,在标号1处。填写文件内容,标号2处。下面 Commit
new file
 部分填写的是“版本留言”( commit message ),说明一下为什么要做这次修改,一方面是跟队友沟通的一种形式,另一方面如果项目版本多了,自己也可以用这个留言来定位特定的一次修改。标号3处填写一个一行的留言,标号4处可以写详细留言,这一项是可选的。 最后,点击 Commit
new file
 按钮,一个新版本就做好了。

顺便提一下,github 的页面编辑器是经过特殊强化的,用起来非常舒服。点下图1处,可以进入全屏模式,编辑后还可以用2处的 Preview changes 预览一下修改内容。

自动跳转回项目页面之后,会发现原来 1 commit 的地方,现在已经变成了下图所示的 2
commits

2 commits 是个链接,点进入就进入了项目历史的页面。

现在看到历史上有两个版本,点开上面的一个版本,或者说一个 commit,就可以看到一个 commit 所包含的信息了。

最重要的是 版本号 ( commit id )。每个 commit 都有一个,是一个40位16进制数,可以用来定位每个版本。注意一下地址栏中 url 的格式,以后只要是拿到了一个版本号,就可以照猫画虎的敲上面这样的链接来查看这次的修改的详细内容了,方便吧?!

一个 commit (版本)中最核心的内容就是这4个 w 了,谁( who )在什么时间( when )改了那些内容( what ),最后一个是为什么要改( why ),这个是版本留言发挥的作用。

一条历史线

所有 commit(版本) 组成了一条历史线。那么这条线是怎么串起来的呢?随便打开一个项目,打开具体一个 commit,通常会看到下图的内容:

上面显示了当前版本号( commit id ),但是同时还显示了它之前的一个 commit 的版本号,也就是它的“父版本”( parent ) 的版本号。底层原理是这样,一个 commit 内部是保存了它的 parent 的版本号的,这样就把它和它爹连在了一起,爹还有自己的爹,就会形成下图的一条历史线。

有些版本工具是以 1,2,3… 作为版本号的,但是 git 这里每个版本号都是40位十六进制数,表面看起来稍微麻烦一些,但是实际上妙用无穷。

总结

暂时只是介绍了最为核心的版本控制功能的一部分,更多强大的功能,后面继续介绍。

[GitHub]第一讲:浏览器中使用GitHub的更多相关文章

  1. 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.

    一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...

  2. 托管到github上的网页图片在百度浏览器中显示不全

    这几天做了个较完整的网页放到github上,上传后看网页效果. 在Firefox浏览器中,显示正常. 在百度浏览器中,空了一大块位置(图片位置),偏偏只空了这一块,其它地方的图片都好好的. 点击f12 ...

  3. myeclipse跟eclipse中使用github做版本控制工具

    今天早上花了一上午的时间,了解了在myeclipse跟eclipse中使用github. 好吧 说说怎么做的,让大伙少走一点路,我就简单描述下,需要软件的私信我 第一:下载git 第二:靠谱.但是pu ...

  4. idea中使用github

    转载:https://www.cnblogs.com/javabg/p/7987755.html 1.先安装git插件,本机安装git在C:\InstallSoftWare\Git 2. 在Idea ...

  5. Visual Studio 2012中使用GitHub

    前言 一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等 一系列工具进行Copy,然后回家才能继续在原来的基础上作业 ...

  6. ubuntu系统中解决github下载速度慢问题

    如果你在使用github,出现访问和下载速度慢问题,可以通过修改host解决.记得不要踩坑哦!分四步: 第一步:查询速度快的IP地址 在http://tool.chinaz.com/dns中查询下面三 ...

  7. VS2010中使用Github进行版本控制【补充】

    http://blog.csdn.net/softwave/article/details/8499264 前面我在文章<VS2010结合Github进行版本控制>中介绍了VS 2010中 ...

  8. 如何在IDEA中使用GitHub

    第一步:在GitHub网站中注册自己的账号 地址:https://github.com/ 第二步:下载Git客户端 地址:https://git-scm.com/ 第三步:在GitBash中配置用户名 ...

  9. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

随机推荐

  1. 某些情况下调用函数为什么要在函数名前加“(void)”

    我们知道,在定义函数时,加在函数名前的"void"表示该函数没有返回值.但在调用时,在函数名前加"(void)"的作用又是什么呢? 最明显的一点就是表示程序并不 ...

  2. 学生管理系统(SSM简易版)总结

    之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...

  3. 阿里2019实习内推,五轮技术面+一轮HR面,Java岗面经

    在牛客网上获取到很多知识和信息,现在反馈一波,希望能对广大找实习的同学有所帮助. 个人情况:EE方向渣硕,二月末内推了阿里集团某部门Java岗,约三周完成了所有面试. 面经如下: 一面 (简历评估): ...

  4. 解决警告: Setting property 'source' to 'org.eclipse.jst.jee.server_:' did not find a matching property.的方法

    今天第一次搭建struts2框架,跟着网上的教程导入对应的jar包之后就开始写登录的jsp页面,但是运行时出现了问题, 浏览器显示"The requested resource is not ...

  5. iis部署python运行环境

    IIS部署 1.启用或者关闭windows功能,选择安装CGI,我这里已经安装过了. 2.安装后重新打开IIS看到CGI 3.配置ISAPI和CGI限制 4.右上角添加,路径是python安装路径,注 ...

  6. 学习C语言第一天!

    整理心得笔记: 1)c语言程序由函数构成,每个函数可以实现一个或多个功能.  2)一个正规程序可以有多个函数,但是有且只有一个主函数.  3)函数只有在被调用的时候才执行,主函数由系统调用执行.  4 ...

  7. Oracle中查询和删除相同记录的3种方法

    --创建测试表 )); ,'); ,'); ,'); ,'); ,'); ,'); commit; select * from test; --查询相同记录 ); select id,name fro ...

  8. python学习之路前端-Dom

    Dom简介    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为 ...

  9. C++笔记004:C++类通俗点说

    核心: C++的类就是对C语言的结构体进行了扩展,C++的结构体可以包含函数! ------------------------------------------------------ 我们学习C ...

  10. Go 语言Map(集合)

    Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值. Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它.不过,Map 是无 ...