源码安装git

安装前先确保安装libcurl-devel,否则安装git后有些命令会用不了。如clone命令会提示fatal: Unable to find remote helper for 'https'

系统为centos6.7 x64,可以直接用yum安装git,安装后发现版本太低1.7,决定重新安装

因为已安装git,git的源码放在github上,可以直接用git克隆下来

git clone https://github.com/git/git

下载后进入git目录

cd git

生成configure文件

make configure

设置安装目录

./configure --prefix=/usr/local

编译文档

make all doc

这个命令可能会出错,因为有依赖的包可能没安装,我的系统安装的时候是以最小化安装的,所以很多包都缺失,安装下面几个包,根据主机环境而定

yum install perl-ExtUtils-MakeMaker tcl gettext-devel asciidoc xmlto

安装完成后再执行make all doc,如果出现如下结果则成功

root@localhost git]# make all doc
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
    SUBDIR templates
make -C Documentation all
make[1]: Entering directory `/root/git/Documentation'
make[2]: Entering directory `/root/git'
make[2]: “GIT-VERSION-FILE”是最新的。
make[2]: Leaving directory `/root/git'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/git/Documentation'

安装软件和文档

make install install-doc install-html


之前用yum安装的git是在/usr目录中,现在我们安装在/usr/local中,执行git --version还是老版本的git,可以先卸载老版本,然后做一个链接。

如果新版本的安装目录也是/usr,则新版本会覆盖老版本,不用执行下面的命令

卸载老版本

rpm -e perl-Git git

ln -s /usr/local/bin/git /usr/bin/git

[root@localhost ~]# git --version
git version 2.9.0


安装完成


<think>我们注意到用户的问题已经从如何使用git-svn转变为如何从源代码安装git-svn工具。git-svn是Git的一个组件,通常随Git一起安装。如果用户需要从源码安装,实际上需要从源码安装整个Git,因为git-svn是Git的一部分,不能单独安装。 以下是完整的从源码安装Git(包含git-svn)的步骤: ### 一、安装依赖 ```bash # Debian/Ubuntu sudo apt update sudo apt install -y dh-autoreconf libcurl4-gnutls-dev libexpat1-dev \ gettext libz-dev libssl-dev libghc-zlib-dev # RHEL/CentOS sudo yum install -y dh-autoreconf curl-devel expat-devel \ gettext-devel zlib-devel openssl-devel ``` ### 二、下载Git源码 ```bash # 从官方仓库克隆(推荐) git clone https://github.com/git/git.git # 或下载最新稳定版 wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.44.0.tar.gz tar -xzf git-2.44.0.tar.gz cd git-2.44.0 ``` ### 三、编译安装 ```bash # 生成配置脚本 make configure # 配置安装路径(默认为/usr/local) ./configure --prefix=/usr/local # 编译(启用多核加速) make -j$(nproc) all # 安装到系统 sudo make install ``` ### 四、验证安装 ```bash git --version git svn --version ``` ### 五、安装后配置 ```bash # 设置全局作者信息 git config --global user.name "Your Name" git config --global user.email "your@email.com" ``` > **注意** > 1. 编译过程需确保依赖完整,若出现头文件缺失请安装对应开发包 > 2. 若需卸载,在源码目录执行:`sudo make uninstall` > 3. 安装后需重启终端使新版本生效 §§相关问题§§ 1. 如何解决编译Git时出现的`fatal error: openssl/ssl.h: No such file or directory`错误? 2. 如何将源码安装Git更新到新版本? 3. 在非root环境下如何将Git安装到用户目录? 4. 如何验证git-svn功能是否完整可用? 5. 源码安装Git后如何启用HTTPS传输支持?</think>### 如何从源码安装 git-svn 工具 git-svn 是 Git 的官方子模块,需要从 Git 源码编译安装。以下是完整步骤: #### 一、安装编译依赖 ```bash # Debian/Ubuntu 系统 sudo apt update sudo apt install -y dh-autoreconf libcurl4-gnutls-dev libexpat1-dev \ gettext libz-dev libssl-dev libghc-zlib-dev # RHEL/CentOS 系统 sudo yum install -y dh-autoreconf curl-devel expat-devel \ gettext-devel zlib-devel openssl-devel ``` #### 二、获取 Git 源码 ```bash # 方法1: 从官方仓库克隆(推荐) git clone https://github.com/git/git.git cd git # 方法2: 下载稳定版源码包 wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.44.0.tar.gz tar -xzf git-2.44.0.tar.gz cd git-2.44.0 ``` #### 三、编译安装 Git(包含 git-svn) ```bash # 生成配置脚本 make configure # 配置安装参数(默认安装到 /usr/local) ./configure --prefix=/usr/local # 编译源码(启用多核加速) make -j$(nproc) all # 安装到系统 sudo make install ``` #### 四、验证安装 ```bash # 检查 git-svn 是否可用 git svn --version # 应显示: git-svn version X.X.X (svn X.X.X) # 检查 Perl 模块依赖(git-svn 需要) perl -MFile::Path -e "print \"File::Path installed\n\"" ``` #### 五、常见问题解决 **1. 缺少 Perl 模块错误** ```bash # 安装缺失的 Perl 模块 sudo cpan SVN::Core sudo cpan Term::ReadKey ``` **2. 安装到自定义路径** ```bash ./configure --prefix=$HOME/git-custom make all make install export PATH="$HOME/git-custom/bin:$PATH" ``` **3. 仅编译 git-svn** ```bash # 单独编译 git-svn 组件 make git-svn sudo cp git-svn /usr/local/libexec/git-core/ ``` > **重要提示** > 1. 编译需要 1GB+ 内存,内存不足时使用 `make NO_OPENSSL=1` 精简编译[^3] > 2. 安装后需重启终端使新路径生效 > 3. 推荐使用 Git 2.38+ 版本以获得完整 SVN 协议支持
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值