转自:http://milkythinking.com/blog/2011/04/17/install_git_and_manual/

Git简介

Git是一个分布式版本控制系统,对应的是SVN、CVS这样的集中式版本控制系统。

虽然知晓并安装Git是很久以前的事情了,但是我却没怎么用过,一直使用的是SVN。在《Pro Git》中看到的Git的好处有:

  • 本地完整地镜像了代码仓库的所有内容,如果服务器出现故障,可以使用任何一个本地镜像进行恢复。而使用SVN,如果没有对服务器端的数据进行安全悲愤,出现故障后,以前的所有记录数据将会丢失,无法恢复。
  • 本地完整地镜像了代码仓库的所有内容,当由于某些原因,不能连接到中心服务器的时候,你可以在本地继续工作、提交代码,等到网络连通,再将更新同步到中心服务器。

当然还有其他的好处,但是我没有体验过,无法很好得描述,等以后有经验了在补充吧。

安装Git

Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。

apt-get install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

从源代码安装

Git官方站点下载最新的源代码,如当前最新版 1.7.4.4
编译安装命令

tar -zxf git-1.7.4.4.tar.gz
cd git-1.7.4.4
make prefix=/usr/local all
sudo make prefix=/usr/local install

二进制包安装

这种方法安装方便,我使用的就是这个方法,但往往不是最新版本的Git,如我的版本就是1.7.2.1。

apt-get install git-core

安装Git帮助手册

使用二进制包安装后,发现并没有安装Git的帮助手册,源代码安装后是否有类似的情形就不知道了,如果有也可以用以下的方法进行安装。
使用git --version查看自己安装的Git版本。
然后现在对应的帮助手册,并解压到相应的位置:

curl -O "http://kernel.org/pub/software/scm/git/git-manpages-1.7.2.1.tar.bz2"
sudo tar xjv -C /usr/local/share/man -f git-manpages-1.7.2.1.tar.bz2

你还可以复制执行下面的脚本,轻松搞定手册安装:

cd /tmp
curl -O "http://kernel.org/pub/software/scm/git/git-manpages-`git --version | awk '{print $3}'`.tar.bz2"
sudo mkdir -p /usr/local/share/man
sudo tar xjv -C /usr/local/share/man -f git-manpages-`git --version | awk '{print $3}'`.tar.bz2

Git使用的其他注意事项

使用Git初始化项目的时候,你可能会遇到如下的警告信息:

warning: templates not found /usr/local/share/git-core/templates

原因是由于模版目录的读写权限造成的,使用如下命令变更模版目录的读写权限即可:

sudo chomd -R 755 /usr/local/share/git-core/templates/

参考链接:

安装Git帮助手册

Pro Git 是一本免费的Git书籍,有中文版本

Gonna Sailing 
==END==

最新文章

  1. App Framework $.ui.loadContent 参数解释
  2. M3U8格式讲解及实际应用分析
  3. 导出带图形的数据excel表
  4. hbase 使用
  5. bnu A Matrix 北京邀请赛A题
  6. myhuiban会议,期刊,科研人员,计算机类会议大全
  7. 在eclipse中使用javap工具反汇编
  8. Rails 撤销操作
  9. java学习之 垃圾回收
  10. UML--核心元素之分析类
  11. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)
  12. MySQL基础知识2
  13. 【python基础】 Tkinter 之 几何管理器
  14. Python random() 函数
  15. android viewpage预加载和懒加载问题
  16. java31
  17. Git学习笔记05-撤销修改
  18. 树莓派ssh服务
  19. php命名空间的使用,同一个命名空间可以在多个文件中定义
  20. Sql中将字符串按分割符拆分

热门文章

  1. mongodb 操作类
  2. 我对GIT的理解
  3. 二分--1043 - Triangle Partitioning
  4. [bzoj 3687]简单题 bitset的运用
  5. .Net 命名(委托,事件==)
  6. HDU 5014Number Sequence
  7. AssetBundle机制相关资料收集
  8. web访问速度优化分析
  9. codeforces 463D Gargari and Permutations(dp)
  10. 【剑指offer】和为S的连续整数序列