「Git」- 安装(Ubuntu、Debian、CentOS、源码编译)

  CREATED BY JENKINSBOT

Git Latest on Ubuntu 18.04.5 LTS

How to Install the Latest Git Version on Ubuntu

add-apt-repository ppa:git-core/ppa
apt update
apt install git

Kali GNU/Linux Rolling

apt-get install git

Git 2.x on CentOS 7.x(安装新版本)

IUS/Setup
Update Git to the latest (help)
How to install latest version of git on CentOS 7.x/6.x

# 安装新版本 Git
yum install -y \
    https://repo.ius.io/ius-release-el7.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum makecache
yum install git2u-all.noarch # 全家桶(11/20/2019 git version 2.16.5)

# 安装更新的版本
# yum install http://opensource.wandisco.com/centos/6/git/x86_64/wandisco-git-release-6-1.noarch.rpm
# yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm
yum install -y http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
yum makecache
yum install -y git #(11/20/2019 git version 2.22.0)

通过源码安装

对于 Git 的编译安装,建议参考 BLFS

建议安装依赖

cURL-7.50.1 (needed to use Git over http, https, ftp or ftps), OpenSSL-1.0.2h, Python-2.7.12

可选软件包

PCRE-8.39, Subversion-1.9.4 with Perl bindings (for git svn),
Tk-8.6.6 (gitk, a simple Git repository viewer, uses Tk at runtime), Valgrind-3.11.0

下面是用于创建 man pages, html docs 和其他的 other docs 的软件包:
xmlto-0.0.28 and asciidoc-8.6.9 or AsciiDoctor, and also dblatex (for the PDF version of the user manual), docbook2x to create info pages

配置、构建、编译、安装

./configure --prefix=/usr/local --with-gitconfig=/etc/gitconfig

# 安装 Git,执行
make
make install

# 如果想同时安装 Git 文档,执行:
make all doc
make install install-doc

安装的可执行程序

git
is the stupid content tracker.

git-cvsserver
is a CVS server emulator for Git.

gitk
is a graphical Git repository browser (needs Tk-8.6.6).

git-receive-pack
is invoked by git send-pack and updates the repository with the information fed from the remote end.

git-shell
is a login shell for SSH accounts to provide restricted Git access.

git-upload-archive
is invoked by git archive –remote and sends a generated archive to the other end over the git protocol.

git-upload-pack
is invoked by git fetch-pack, it discovers what objects the other side is missing, and sends them after packing.

参考文献

Git/Download for Linux and Unix
BLFS/Git-2.9.3