>在CentOS 6.4上安装git的方法,及遇到的一些问题解决。 ### 安装Git #### 一、yum安装 yum install git 通过yum方式安装,版本比较旧,CentOS6.5上安装好是1.7.1版。如果想安装最新版或其他版本,需要使用源码编译安装的方式。 #### 二、源码包安装 ##### 更新系统 yum update #### 安装依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc perl-ExtUtils-MakeMaker #### 卸载旧版git 如果之前安装过git,需要先卸载 yum remove git #### 下载和解压 cd /usr/src wget https://www.kernel.org/pub/software/scm/git/git-2.5.0.tar.gz tar -zxvf git-2.5.0.tar.gz 或者 使用下面的下载 wget https://github.com/git/git/archive/v2.5.0.tar.gz #### 编译和安装 cd git-2.5.0 make prefix=/usr/local/git all make prefix=/usr/local/git install #### 将git目录加入PATH echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc or echo 'export PATH=$PATH:/usr/local/git/bin' > /etc/profile.d/git.sh source /etc/bashrc #### 安装成功 安装成功后查看git版本 git --version git version 2.5.0.GIT ### 安装问题 ##### 1. 执行 git 时 报错: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory 解决办法: 到 `/usr/local/lib` 目录下查找有这个库。 ll /usr/local/lib/libiconv.so.2 lrwxrwxrwx 1 root root 17 Feb 16 09:17 /usr/local/lib/libiconv.so.2 -> libiconv.so.2.5.1 在 `/etc/ld.so.conf` 中加一行 `/usr/local/lib`,然后运行 `/sbin/ldconfig` 。 ##### 2. 执行 `git --version` 时git命令无法识别 使用下面命令查看 git 所在路径: whereis git 结果: git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz 解决方法: 把编译安装的 git 路径放到环境变量里,让它替换"`/usr/bin`"下的git。为此我们可以修改“ `/etc/profile` ”文件(或者 `/etc/bashrc` 文件): vim /etc/profile 然后在文件的最后一行,添加下面的内容,然后保存退出: export PATH=/usr/local/git/bin:$PATH 使用source命令应用修改: source /etc/profile 再次使用 `git --version` 查看git版本,发现输出2.5.0,表明安装成功。 ##### 3. 编译git时出错 错误信息: LINK git-credential-store libgit.a(utf8.o): In function `reencode_string_iconv': /opt/git-master/utf8.c:530: undefined reference to `libiconv' libgit.a(utf8.o): In function `reencode_string_len': /opt/git-master/utf8.c:569: undefined reference to `libiconv_open' /opt/git-master/utf8.c:588: undefined reference to `libiconv_close' /opt/git-master/utf8.c:582: undefined reference to `libiconv_open' collect2: ld 返回 1 make: *** [git-credential-store] 错误 1 解决方法: 执行如下命令: make configure ./configure --prefix=/usr/local make all doc sudo make install install-doc install-html 然后重新安装。 ### 设置Git ##### 设置用户名和email git config --global user.name "Your Name" git config --global user.email "youremail@domain.com" 执行后 Home目录下会新建一个.gitconfig文件 ##### 为GitHub账号添加SSH Keys 以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,比如提交修改,每次都需要输入口令。) ###### 1. 创建SSH key ssh-keygen -t rsa -C "youremail@163.com" 系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认(可修改密钥保存位置),连续三次回车即可。 ###### 2. Copy SSH Key 然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。 vim ~/.ssh/id_rsa.pub ###### 3. 添加到GitHub 登录 [github](https://github.com/ "github") -> 右上角点击个人头像 -> [Settings](https://github.com/settings/profile "Settings") -> 左侧 [SSH and GPG keys](https://github.com/settings/keys "SSH and GPG keys") -> 右上角 [New SSH key](https://github.com/settings/keys "New SSH key") -> 填写 Title(用于区分) -> 填写 key(复制 ~/.ssh/id_rsa.pub 文件内容) -> 点击 Add SSH key 完成添加。 ###### 4. 测试 ssh -T git@github.com