http://forkhope.diandian.com/post/2012-10-04/40040973375
1. 使用 sudo apt-get install git-core 安装git,此时,这个git可能并不是最新版的。
如果想要安装最新版的git,需要自己下源码来编译安装。
git官网的下载页面
http://git-scm.com/downloads
上并没有提供源码下载(这个网址可能被墙了),而是要我们自己去github下载git源码,所以我们还是需要先安装一个git。
2. 先用上面的命令安装git之后,再用
git clone https://github.com/git/git.git
命令取得git源码。假设取下来的源码位于家目录下面,那么下载结束后,在家目录下面会多出来一个git目录
3. 进入这个git目录,进行源码编译安装
$cd git
4.编译源码。这里同时指定all和doc这两个目标,指定doc是为了安装git的帮助文档到man手册里面,只指定all的话,默认并不包含git的帮助文档,这样在man手册中就查不到git的帮助。
$make prefix=/usr/local all doc
在编译all目标时,可能会报下面的错:
/bin/sh: curl-config: not found
fatal error: openssl/ssl.h: No such file or directory
这是因为git源码需要的一些开发包没有被安装。我是通过安装下面的包来解决这个问题的:
$sudo apt-get install libcurl4-openssl-dev
网上有个方法是安装libssl-dev包,这个方法可以解决fatal error: openssl/ssl.h: No such file or directory的问题,但是/bin/sh: curl-config: not found问题还是存在,编译的时候还是编不过。在我的机子上,安装libcurl4-openssl-dev能同时解决这两个问题,安装libcurl4-openssl-dev时,会自动安装libssl-dev包。
在编译doc目标时,可能会报下面的错:
/bin/sh: line 1: asciidoc: command not found
找不到asciidoc命令,安装这个命令即可:
$sudo apt-get install asciidoc
在我的机子上,安装这个命令,会下在477M的文件。
安装完这些包后,再执行一次make prefix=/usr/local all doc命令,应该就不会看到报错了。
5.卸载之前安装的老版本git
此时,由于我们的机子上已经安装了一个老版本的git,为了防止冲突,我会先卸载这个老版本的git。不卸载的话,不知道是否会有什么影响。
$sudo apt-get purge git-core
$sudo apt-get autoremove --purge
6.安装
$sudo make prefix=/usr/local install install-doc
这里同样,如果想要在man手册中看到git的帮助文档,需要额外安装,即上面的install-doc。如果只指定install目标的话,在man手册中是查不到git的相关命令帮助的。
7.查看新安装的git版本号,确认一下是否新版本了
$ git --version
git version 1.8.0-rc0
好,安装结束!