LoginSignup
124
110

More than 5 years have passed since last update.

最新版の Git をインストールする

Last updated at Posted at 2017-12-05

TL;DR

Ubuntu

Ubuntu
$ sudo apt -y remove git
$ sudo apt -y install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev autoconf asciidoc xmlto docbook2x make gcc
$ wget https://github.com/git/git/archive/v2.15.1.tar.gz
$ tar -zxf v2.15.1.tar.gz
$ cd git-2.15.1
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
$ git --version

CentOS

CentOS
$ sudo yum -y remove git
$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel autoconf asciidoc xmlto docbook2X make gcc
$ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
$ wget https://github.com/git/git/archive/v2.15.1.tar.gz
$ tar -zxf v2.15.1.tar.gz
$ cd git-2.15.1
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
$ git --version

※ 最新の Git のバージョンは、Releases · git/git を参照のこと

パッケージマネージャーの Git は古いことが多い

aptyum などの Linux のパッケージマネージャーでインストールした Git は、バージョンが古いことが多いです。

Ubuntu16.04
$ date
Tue Dec  5 21:40:00 JST 2017  # 2017 年 12 月 5 日現在
$ sudo apt -y update
$ sudo apt -y upgrade
$ sudo apt -y install git
$ git --version
git version 2.7.4
CentOS7
$ date
Tue Dec  5 21:40:00 JST 2017  # 2017 年 12 月 5 日現在
$ sudo yum -y update
$ sudo yum -y install git
$ git --version
git version 1.8.3.1

特に yum でインストールした Git は古いです。

Git のバージョンが古くても最低限のことは問題ないのですが、新しいバージョンで追加された機能を使いたいときには、やはり最新版をインストールしておきたいです。

たとえば、Git 2.8 以降では、user.useConfigOnly という設定が追加され、これを有効にすることで、ユーザ名やメールアドレスを設定していないときに、環境変数を使用して勝手にユーザ情報を参照してしまうことを防ぐことができます。

参考: リポジトリごとに user.name や user.email の設定を強制する

このような便利機能があるのですが、パッケージマネージャーからインストールした Git だと、古くて対応していません。user.useConfigOnly を設定しているから、うっかりユーザ名とメールアドレスを設定し忘れても大丈夫、と思っていたけど、実は、Git のバージョンが古くて環境変数のユーザ情報を参照してしまっていた…なんてことにもなりかねないです。

以降では、最新版を Git を、パッケージマネージャーからではなく、ソースからビルドしてインストールする方法について説明します。

既存の Git をアンインストール

既にパッケージマネージャーで Git をインストールしていた場合は、アンインストールします。

Ubuntu の場合

Ubuntu
$ sudo apt -y remove git

CentOS の場合

CentOS
$ sudo yum -y remove git

必要なライブラリをインストール

まずは必要なライブラリをインストールします。

Ubuntu の場合

Ubuntu
$ sudo apt -y install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev autoconf asciidoc xmlto docbook2x make gcc

CentOS の場合

CentOS
$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel autoconf asciidoc xmlto docbook2X make gcc
$ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi

ソースコードをダウンロード

Git のソースコードをダウンロードします。以下の GitHub のページにアクセスします。

Releases · git/git

git_releases.png

最新版の Tarball のダウンロードリンクをコピーします。上記の画像の例では、v2.15.1 が最新版なので、v2.15.1 の tar.gz のリンクをコピーします。以降の説明では、v2.15.1 が最新版だと仮定します。

Tarball をダウンロードします。

$ wget https://github.com/git/git/archive/v2.15.1.tar.gz

カレントディレクトリに v2.15.1.tar.gz がダウンロードされます。

ビルドしてインストール

先ほどダウンロードした Tarball を展開します。

$ tar -zxf v2.15.1.tar.gz

展開されたディレクトリに移動します。

$ cd git-2.15.1

あとは、ビルドしてインストールすれば完了です。

$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info

バージョンを確認して、最新の Git のバージョンが表示されたら成功です。

$ git --version
git version 2.15.1

参考

124
110
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
124
110