Debian 11 编译安装 git 2.42.0(基于 OpenSSL)

git 克隆远程仓库时默认使用 gnutls,正常情况下没有任何问题。当使用 gitlab 时,如果把 gitlab 放在代理后面(如:放在 nginx 后面),则可能会出问题。例如报错:gnutls_handshake() failed: Handshake failed。此时可以通过自己编译使用 OpenSSL 的 git 来解决这个问题。

环境准备

apt install -y build-essential
apt install -y libcurl4-openssl-dev
# 安装其他编译依赖
apt-get build-dep git

编译 git

# 克隆源代码
git clone [email protected]:git/git.git
cd git

# (可选)删除老版本 git
apt remove git*

make configure
# 指定要安装到的位置
./configure --prefix=/usr
# 编译源代码和文档。如果不需要文档,则删除 doc
make all doc
# 安装到指定位置。如果不需要文档,则删除 install-doc
make install install-doc

你可能感兴趣的:(Git,Linux,debian,git,编译,gnutls,gitlab)