目次
1. tig コマンドについて
tig コマンドを使うと、Git レポジトリの履歴を快適に閲覧することができます(コミットなどの操作もできます)。
2. エックスサーバーにコマンドを導入するには
エックスサーバーは ssh でログインすることができます(標準で用意された機能です)。サーバー上でコマンドを実行することによって、直接ファイルを操作することができるので大変便利です。
とはいっても、他のユーザーと共用しているサーバーの中の1ユーザーとしてログインしているだけなので、管理者権限はもちろんなく、パッケージを使ったアプリケーションのインストールはできません(自分用のパッケージシステムを導入すれば可能ですが)。そのため、標準で用意されていない tig
のようなコマンドを使いたければ、自分でなんとかして導入する必要があります。
そこで本記事では、tig
のソースコードを自力でコンパイルしてコマンドを導入する手順について説明します。
3. tig コマンドを導入する手順
tig
のインストール手順についての公式な説明は、Installation · Tig – Text-mode interface for Git に載っていますので、できればそちらも参照してください。
(1) エックスサーバーに ssh ログインする
まずは、エックスサーバーで借りているサーバーに ssh でログインします。
本記事では、Windows Terminal を利用すると仮定しましょう。
(2) libevent と ncurses を導入する
次に libevent と ncurses を導入しますが、これは以下の記事に書きましたので、そちらを参照してください。
(3) tig を導入する
tig のソースコードのダウンロードURLを知るために、ブラウザで Releases · jonas/tig にアクセスします。
この記事を書いているときは、2.5.1 が最新バージョンでしたので、tig-2.5.1.tar.gz
というファイルのリンクURLをクリップボードにコピーにコピーします。
まず、ターミナル上でどこか適当なディレクトリに移動しておきましょう。
ここでは、~/local/src
に移動します(このディレクトリがなければ、1行目のコマンドで作成しておきます)。
$ mkdir -p ~/local/src
$ cd ~/local/src
では、以下のコマンドを実行して送信をダウンロードします。URL の部分は、Windows Terminal 上で右クリックするとクリップボードから貼り付けることができます。
$ wget https://github.com/jonas/tig/releases/download/tig-2.5.1/tig-2.5.1.tar.gz
tig-2.5.1.tar.gz
ファイルを解凍し、生成されたディレクトリに移動します。
$ tar zxf tig-2.5.1.tar.gz
$ cd tig-2.5.1
次に、以下のコマンドでコンパイルのための設定ファイル( config.make
ファイルと config.status
ファイルのようです)を生成または更新します。
$ LDFLAGS="-L/home/foo/local/lib" \
CPPFLAGS="-I/home/foo/local/include/ncurses" \
PKG_CONFIG_PATH="/home/foo/local/lib/pkgconfig" \
./configure \
--prefix=/home/foo/local/tig \
--with-ncurses
- ユーザー名を
foo
としています。 - 最終的に、tig に関するファイルは
~/local/tig
ディレクトリに配置されるように--prefix
を指定しています。
このコマンドがエラーなく終了したら、make
を実行します。これにより、tig
の実行ファイルなどが生成されます。
$ make
こちらもエラーなく終了したら、make install
して必要なファイルを所定の位置に移動させます。
$ make install
(4) tig
コマンドにパスを通す
この時点で、以下の2つのファイルが配置されています。
~/local/tig/
│
├─ bin/
│ └─ tig (実行ファイル)
│
└─ etc/
└─ tigrc (設定ファイル)
コマンドラインで「tig
[引数]」とだけ書いてコマンドとして実行するには、tig
ファイルが入っているディレクトリをパスに追加する必要があります。
そのためには、~/.bash_profile
ファイルに以下を追加します。
export PATH=${HOME}/local/tig/bin:$PATH
もしくは、例えば ~/bin
ディレクトリがあってここにパスを通しているのであれば、以下のようにシンボリックリンクを作成する方法もあります。
$ ln ~/local/tig/bin/tig ~/bin
4. 参考
- jonas/tig: Text-mode interface for git
- Installation · Tig – Text-mode interface for Git
- Releases · jonas/tig
5. 関連