※Git のセキュリティ情報はこちら
https://github.com/git/git/security/advisories/
CentOS 6.5, yum でインストールした Git を 1.7.1 から 2.x にバージョンアップする
AlmaLinux でも同様の手順で実行可能です。(yumでもdnfでもお好きなほうをお使いください)
$ sudo yum remove git
$ sudo yum install gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ wget https://www.kernel.org/pub/software/scm/git/git-2.2.0.tar.gz
$ tar -zxf git-2.2.0.tar.gz
$ cd git-2.2.0
$ make prefix=/usr/local all
$ make prefix=/usr/local install
$ git --version
git version 2.2.0
これでどうだ!
// @clown0082 さん、GCC に関する編集リクエスト有難う御座いました m(_ _)m
途中の yum install
は環境によって左右されるので、必要モノを記入.
already installed なら OK.
さすがにもう、8年前の Git を使い続けるのはちょっとね.
何度もセキュリティアップデートあったし、もう 1.8.1 以前なんか公式でも降ろされちゃってる.
(ちなみに、実際の1.7.1 のリリース自体は 2010 年の 4 月 24 日. Github の公式リポジトリ内のタグ)
それでは良きエンジニアライフを(^w^)ノシ
※追記: 2.2.x 以降にバージョンアップする手順はコメントを参照. 2.2.0 にした後は全部同じ手順で更新できると思います.
※追記2:@MamoruTsujimoto さんから頂いた情報から、以下のような現象が起こり得るとのことでしたので合わせて記載させていただきました。
【Q&A】git のインストール後に "No such file or directory" と怒られる
これはコメント欄に @MamoruTsujimoto さんから頂いた情報です。
実際に遭遇したことがなかったので助かりました、ありがとうございます。
(hash
コマンドも初めて知りました…)
git
を実行しようとした時に「そんなファイルはないよ!」と指摘されるファイルパスと、which
や type
で確認したときのファイルパスで、ズレが生じるケースがあるようです。
$ git --version
-bash: /usr/bin/git: No such file or directory
$ which git
/usr/local/bin/git
$ type git
git is /usr/local/bin/git
この場合、bash
の組み込みコマンドである hash
コマンドで解決することが出来る、とのことでした。
$ hash -r
ちなみに tcsh
を使っている方の場合は
% rehash
となります。
【Q&A】git のリポジトリから最新版落とせば OK.
この記事では tarball 化された git をダウンロードしているのですが、@belq さんよりもっと簡単にできるよ、との情報を頂きましたので追記しておきます。
英語: 1.5 Getting Started - Installing Git
日本語: 1.5 使い始める - Gitのインストール
実は公式には「一回インストール出来たら、次からはこれでOK」という感じで git でアップデートする方法が記載されています。
git clone git://git.kernel.org/pub/scm/git/git.git
こうすることで、毎回バージョンを指定しながら wget
で取得せずとも、毎回最新版の git を手に入れることが可能です。
ただし、もし RC リリースがある場合は RC 版が入ってしまうことがあります。(現時点 2017/07/20 がそんな感じ)
git version 2.14.0.rc0.9.gcac25fc33
もし「安定版を使いたい」ということであれば従来通りの wget
で、「RC版でも構わないからアップデート手順を手軽に自動化したい」ということであれば master
ブランチからの clone
で問題ないと思います。
詰まるところ RC 版だろうが master
版だろうがバグは起こりますし、この記事のコメント欄をこっそり追っかけてくれている方々はそれを承知の上で最新版をインストールしているだろうと思いますので、特にこだわる必要はないかなぁと考えています。
蛇足
ちなみに、git の git 運用(分かりづらい…) は以下のように 5 つのブランチから成り立っています。(現時点 2019/06/05)
- pu - 提案 (Debian でいうポイントリリースを準備する proposed-updates)
- todo - ToDo
- next - 時期リリースに向けたテスト用ブランチ
- master - マスタ
- maint - メンテナンスリリースを行うためのブランチ