1.Git 简介
如何以GIT的方式去思考:
懂得 Git,第一件重要的事情就是要知道它与 Subversion、Perforce 或者任何你用过的版本控制工具都有着很大的差别。 通常,忘掉你预想的版本控制方式,改以 Git 的方式思考,能够帮助你更好地学习 Git。
让我们从头开始。假设你正在设计一个新的源代码管理系统。在你使用某个工具之前,是如何完成基本的源码版本控制工作的呢? 十有八九,你只是在项目到达某些阶段的时候,对项目做一份拷贝。
$ cp -R project project.bak
$ cp -R project project.2010-06-01.bak
如此,你就有了一堆项目在各个阶段的快照,来作比较、查看。使用这种模式,你还可以有效地与人分享项目变更。 如果你会在项目到达一定阶段的时候给它打个包,丢到自己的网站上,那其他的开发者们,就能很方便地下载它,做点改动,并给你补丁回馈。
$ wget http://sample.com/project.2010-06-01.zip
$ unzip project.2010-06-01.zip
$ cp -R project.2010-06-01 project-my-copy
$ cd project-my-copy
$ (做了某些修改)
$ diff project-my-copy project.2010-06-01 > change.patch
$ (通过E-mail发送修改补丁)
如此以此方式,原先的开发者就能将其他人的改动应用到他的项目中去,其他开发者也能了解你做的变更。其实这便是许多开源项目采用过多年的协作方式。
这办法其实很好使,所以假设我们现在想要写个工具,让这个办法更快、更简单。 我们与其实现一个工具以记录每个文件的版本,可能不如去实现个工具以使创建、储存项目的快照更加方便,不用每次都去人肉作整个项目的拷贝。
这就是 Git 的精要所在。你通过 git commit告诉 Git 你想保存一份项目快照, Git 就会为你的项目中的各个文件的当前状态存一份记录。之后,绝大部分的 Git 命令都围绕这些记录展开。 比如查看它们的区别(diff),提取它们的内容,等等。
如果你将 Git 看作一个排序、对比以及合并项目更新的工具,那就容易理解状况和正确做事了。
安装和配置GIT
sudo apt-get install git git-core
git config --global user.name "Chen Hao" // 设置名字,以便正确标签自己的项目
git config --global user.email "chenhaoustc@163.com" //设置自己的email地址,与账户的eamil地址要相同
因为本机是通过ssh链接github的,所以先创建ssh密钥。看一下本机是否已经有ssh的密钥。
出现了下面的提示: bash: cd: /home/chenhao/.ssh: No such file or directory,说明本机还没有创建过,继续执行
ssh-keygen -t rsa -C "chenhaoustc@163.com"
ls: cannot access known_hosts: No such file or directory
chenhao@chenhao-Rev-1-0:~$ ssh-keygen -t rsa -C "chenhaoustc@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chenhao/.ssh/id_rsa):
Created directory '/home/chenhao/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/chenhao/.ssh/id_rsa.
Your public key has been saved in /home/chenhao/.ssh/id_rsa.pub.
The key fingerprint is:
f2:0b:a5:03:e9:34:16:0b:02:d5:fb:c0:3d:af:6c:7d chenhaoustc@163.com
The key's randomart image is:
+--[ RSA 2048]----+
|.... |
|. . |
|. ...o |
| . .++o |
| Bo.oS |
| + o.=. |
| ..+o. |
| +o..E |
| . .. |
+-----------------+
用gedit打开~/.ssh/github.pub,将文件内容拷贝到剪切板,(最好用gedit,其他的工具可能出现换行空格 )
sudo gedit ~/.ssh/id_rsa.pub
登陆github系统。地址是:https://github.com/ 点击右上角的 Account Settings--->SSH Public keys ---> add another public keys
把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了,接着打开git ,测试连接是否成功.
ssh -T git@github.com
如果出现下面这种结果就是连接成功。
创建一个仓库
点击GitHub主页下方的create a Repository 地址为:https://github.com/new
OK,一个repository就建立起来了
参考手册:http://gitref.cyj.me/zh/creating/
http://rogerdudler.github.io/git-guide/index.zh.html
Clone一个项目实例:
git clone https://github.com/SilangQuan/CoolReader