文章转载自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. Feign报错Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client

    问题描述 使用Feign调用微服务接口报错,如下: java.lang.RuntimeException: com.netflix.client.ClientException: Load balan ...

  2. Jenkins 2.x版本修改启动端口号

    直接修改jenkins.xml中arguments的httpPort 然后,重启jenkins.

  3. Kafka(转载)

    Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...

  4. JVM之Java虚拟机详解

    这篇文章解释了Java 虚拟机(JVM)的内部架构.下图显示了遵守Java SE 7 规范的典型的 JVM 核心内部组件. 上图显示的组件分两个章节解释.第一章讨论针对每个线程创建的组件,第二章节讨论 ...

  5. Deap Learning (吴恩达) 第一章深度学习概论 学习笔记

    Deap Learning(Ng) 学习笔记 author: 相忠良(Zhong-Liang Xiang) start from: Sep. 8st, 2017 1 深度学习概论 打字太麻烦了,索性在 ...

  6. c++ 深入理解虚函数

    为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题? 面向对象的三大特征: 封装 多态 继承 普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚 ...

  7. 从头开始搭建一个VSCode+NetCore的项目

    看这个前,先要对VS开发C#有所了解 获取作案工具 NetCore SDK https://www.microsoft.com/net/learn/get-started/windows 安装 建立工 ...

  8. 通过内核修改centos密码

    在开机启动的时候按键盘上的"E"键会进入如下界面. 选择相应的内核,再次按"E",出现下图,选择第二项,再次按"E"键 经过第二步,这个画面 ...

  9. C++重载输入流复习

    C++重载输入流 #include <bits/stdc++.h> using namespace std; struct Point { int x, y; Point(int xx, ...

  10. Page2

    css样式表嵌入网页的4种方法: 定义标记的style属性 <标记 style="样式属性:属性值:..;"> 嵌入外部样式表 <style type=" ...