最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情。附件是doc文件,如有需要请注意查收。希望能对你有帮助。

GITHUB基于互联网的版本控制快速入门手册

如有不妥,欢迎指正

转载请注明出处!

Github介绍wiki:http://en.wikipedia.org/wiki/GitHub

Github官网:https://github.com/

如果你还在用cvs、或者svn或者还有什么其他balabala的版本控制工具,那么你就out了。如果你还不知道Github,那么现在你的机会来了。

在 2005年,Linus Torvalds(Linux之父)为了解决在处理Linux内核上的补丁程序遇到的问题而开发了Git版本控制系统。几年之后,出现了以Git为基础的 具有漂亮的web使用界面的GitHub,这使得对这个平台上的项目进行分支操作,打补丁,和提交代码等都变得异常简单容易。它采用的标准化的wiki和 问题跟踪系统,这意味着所有的项目是按同一种方式搭建起来的。一旦你学会了如何向GitHub上的一个项目提交代码,你也就知道了如何向其它所有项目提交 代码了。

其实最重要的是你知道或者能使用那就更好了,同时能增加你在与客户沟通谈资中的亮点哦。下面,我们将简单地介绍和使用Github来实现基本的版本控制。当然你也可以直接看官方更详细的文档,如果你愿意借鉴本文档中的一些东西,也保留的你权利。

优点:

1.      方便的合并和派生机制,可以在任意版本上派生和合并

2.      社交化的版本库,只不过这是一个私有的,公共视图不可见的库。

3.      基于互联网的存储和分布,相当于在互联网上的分布式版本库。

前提:

为了之后的操作方便,你如果愿意可以去github.com 注册一个账户,for free。

一、安装和配置

(1).下载安装可参见:http://help.github.com/win-set-up-git/,以下仅以windows为例

安装完成,在windows中启动Github,可见如下界面,

到这里你已经完成了一大步了,下面我们继续。

(2)生成SSH key

在如上图中的bash界面输入:


当然黄色部分,你可以换成你的Email地址和相应的目录,在提示的时候输入你希望的到时用ssh连接版本库的公钥密码。

公钥生成完成后,将会看到类似上图的界面。并在你设定的相应的目录下产生一个 .ssh文件,里面的id_rsa.pub文件将是我们接下来所需要的(前提是你必须设置隐藏文件可见,在windows中的话)。

(3)将你的ssh key与Github账号绑定

在Dashboard首页右上方,操作1


AccountSetting界面依次点左侧,“SSHPublic Keys” 然后“Add Another public
key”,将上面创建ssh key后,所在目录下的.ssh目录中id_rsa.pub文件内容拷贝并复制到下图所示框中(Title不是必填项

再点add key,OK,完成这一步。

(4)测试

在Github的bash界面输入如下

在如下界面输入“yes“

正常情况下会出现如下界面,至此安装部分基本结束。

(5)配置用户名和邮件信息

其中黄色部分你可以换成你的个人名字和email

(6)配置Github token

在Dashboard首页右上方,然后点account settings,在图中位置中你的信息token复制

你可以在Github的bash界面用ctrl+insert键粘贴剪切板中的内容。

最后,在bash中如入如上命令,即可完成配置。

二、创建版本库

(1)在dashboard首页,右下角点“new repository”

(2)填写项目信息,然后点“create Reporsitory”,

(3)这一步,我们将提交一份文件至版本库,代码可以相同的方式提交

Github的bash其实有点像linux的bash,你可以打开vi,也可以执行linux命令,当然不是所有的命令都有,至少常见的命令是有的。

我们依次要执行的命令有

创建目录、进入目录、git初始化、创建文件(上传版本库的上传文件)

(4)将你的本地的Github仓库与Github账户连接,(当然你必须进入相应的带.git的文件目录下,不然会提示你不能找到.git文件。.git文件存在于你执行git init后初始化的目录中)

文件提交

用过svn的同学大概能想起点什么来了。

你将能看到类似如下的界面,

至此,你已经学会文件提交了。

·连接远程版本库:

下次使用,打开bash后,输入

$ ssh –v git@github.com 就能连接远程版本库了.

·提交已存在文件:

如果对已存在文件提交,可以直接使用

$ git commitfilename –m ‘message’其中黄色部分可按照实际情况填写。此提交将文件提交至本地存储版本库中。若要提交至远程账户,可执行以下命令

$ git push origin master至此,文件已与Github账户所在的版本库同步。

·本地与服务器版本同步(可参照下图中的命令):

这个同步功能有些不太好使,如果在linux上,你用sshFQ后,可能效果会更好

三、派生新版本

你可以选择先从版本库中取一份拷贝到你的本地,相当于checkout一份,如SVN中:

$ git clone git@github.com:username/Spoon-Knife.git

如黄色部分可替换为你的信息

然后配置远程属性,

这里有几个概念,通过clone下来的版本有一个默认的远程名叫“origin”。此origin与你Github账户拥有的版本库的主版本不同。如果需要追踪主版本,可以使用另外一个远程名“upstream”。

更多功能:

1.      你还可以将主版本中的文件更新至你的分支版本库中或者合并(对于你的分支版本操作)

2.      你还可以向主版本发起合并请求,等待相关人员将你的代码加入主版本

3.      删除分支版本、脱离主版本等

还有社交化的功能等着你去摸索。比如你可以查看你关注的人正在进行的项目,你可以加入别人正在开发的项目,建立分支。然后写代码,再然后,提交代码。如果你正在考虑使用什么版本控制工具,在这里强烈推荐Github。

Github快速入门手册的更多相关文章

  1. 专为设计师而写的GitHub快速入门教程

    专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...

  2. Python开发【笔记】:git&github 快速入门

    github入门 简介: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大 ...

  3. 最详细的github快速入门教程

    一:下载github 二:安装GitHub 下载之后点击 进行安装过程,安装之后桌面上会有两个图标,如下图 三:新建项目 GitHub是图形界面模式,Git Shell是命令行模式,在Windows系 ...

  4. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

  5. Maven——快速入门手册(学习记录)

    前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...

  6. github快速入门(一)

    一.github介绍 git是一款非常知名的代码托管工具.当然现在有了github for windows版本(类似于 svn tortoise). GitHub for Windows 是一个 Me ...

  7. Java8——快速入门手册(学习笔记)

    github博文传送门 Java8特性学习笔记 Java8中新增了许多的新特性,在这里本人研究学习了几个较为常用的特性,在这里与大家进行分享.(这里推荐深入理解Java 8用于理解基础知识)本文分为以 ...

  8. Lua脚本语言快速入门手册

    学了两天Lua语言,感叹其短小精悍,上手极快,语法还很舒服,不错!整理下学习过程中经常用到的基础知识,共勉! Lua用法简述 Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式 ...

  9. Git和Github快速入门

    一.什么是Git? 假设你在的公司要上线一个新功能,你们开发团队为实现这个新功能,写了大约5000行代码,上线没2天,就发现这个功能用户并不喜欢,你老板让你去掉这个功能,你怎么办?你说简单,直接把50 ...

随机推荐

  1. DOM基础

    DOM(Document Object Model)即文档对象模型,针对HTML 和XML 文档的API(应用程序接口).DOM 描绘了一个层次化的节点树,运行开发人员添加.移除和修改页面的某一部分. ...

  2. linux系统安装软件方法大全

    1.源代码包的安装gzip -d apache_1.3.20.tar.gz (解压)tar xvf apache_1.3.20.tar (解包)cd apache_1.3.20 ./configure ...

  3. 关于ubuntu16.4 中安装最新的eclipse或者是STS出现页面特卡,且新建项目没有提示,preference选项中点击左侧标签右侧没反应的解决办法,参照google, 排版不太好,希望对一些小伙伴有所帮助

    up vote21down votefavorite 12 Eclipse was working as good as anything on 14.04. I did a clean instal ...

  4. UIViewController的生命周期(根视图view从无到有的过程)

    UIViewController的生命周期实质上是指根视图view从无到有的过程 1.首先新建一个工程:不从mainstoryBoard加载 (删除入口) 在AppDelegate.m --> ...

  5. leetcode sort List

    Sort a linked list in O(n log n) time using constant space complexity. /** * Definition for singly-l ...

  6. LoadRunner参数化取值及连接数据库操作步骤

    很多情况下,参数添加的数据不是十条二十条,也不是一百两百,对于这种大数量的数据我们可以通过数据库将数据导入: 选中要参数化的内容如下图一所示: 方法一,右键---[Replace with a new ...

  7. PDF2

    itex生成PDF文档示例 package dao.other; import java.awt.Color; import java.io.File; import java.io.FileInpu ...

  8. 消息智能路由组件SmartRoute

    消息传递在软件开发过程中是一件很常见的事情,而在不同的场景所使用消息传递方式也有所不同,在对象之间制定相关接口方法和对象结构,对于进程之间可能使用内存共享或一些通讯产品,在不同服务器之的消息通讯则使用 ...

  9. nsq初探

    一. 安装 参考:http://nsq.io/deployment/installing.htmlhttp://www.baiyuxiong.com/?p=873    (推荐.) 不推荐直接把官方的 ...

  10. Unable to locate secure storage module异常的解决方案

    org.eclipse.equinox.security.storage.StorageException: Unable to locate secure storage module 该异常同样是 ...