Gitブラウザ、Viewgitを使ってみた

最近はホスティング鯖にGitリポジトリを作って、バージョン管理を行っているのですが、GithubのようにWeb上からツリーやcommit履歴を確認できればもっと便利です。探してみるとこうしたGitブラウザは結構あって、その中でもシェアが高いというViewgitを導入してみました。インストールから簡単な使い方まで紹介します。

ダウンロード

まずはViewgitをDLし、展開します。以下、GitリポジトリのあるPC上での操作となります。

$ cd ~/
$ wget http://downloads.sourceforge.net/project/viewgit/viewgit/0.0.5/viewgit-0.0.5.tar.gz
$ tar xvzf viewgit-0.0.5.tar.gz
$ cd viewgit/
$ cp inc/config.php inc/localconfig.php
$ cp doc/example-htaccess .htaccess

inc/config.phpはいじらず、これをコピーしたinc/localconfig.phpで設定項目を修正していきます。

設定

inc/localconfig.phpテキストエディタで開いてください。僕的に最低限必要な項目だけ設定します。

$conf['git'] = 'git';

gitコマンドのパスが正しく通っていれば、こちらは修正する必要はありません。gitコマンドへの絶対パスでも構いません。

$conf['projects_glob'] = array('/home/foo/mygit/*.git');

リポジトリを特定のディレクトリ内で管理している人が多いと思うので…。こちらの行をコメントアウトして、リポジトリまでのパスを設定します。個別のディレクトリで管理している方は、$conf['projects']の方を設定してください。

$conf['geshi'] = true;
$conf['geshi_path'] = 'inc/geshi/geshi.php';

GeSHiというシンタックスハイライターを入れると、断然コードが見やすくなりますのでおすすめです。既に導入済みの方は$conf['geshi_path']を、適切なものに修正してください。今回初めて入れてみるという場合は、とりあえずこのままでOKです。導入方法は後ほど説明します。

動作確認

とりあえずこれでViewgitは動きます。これ以降は自身の環境に読み替えて、操作していってください。

$ cd ~/public_html/
$ ln -s ~/viewgit viewgit

僕はこんな風にシンボリックリンクを作るのが好きです。viewgitディレクトリをpublic_html内へmvしても大丈夫です。

READMEに書いてある通り、.htaccessファイルを開いてRewriteBaseを修正します。

Options -Indexes
php_flag register_globals off
php_flag magic_quotes_gpc off

RewriteEngine On
RewriteBase /viewgit/
RewriteRule ^([^.]*).git/(.*)	?a=co&p=$1&r=$2

これは、

http://www.mydomain.com/viewgit/MyApp.git/bar

という形式のURLからcheckoutするためのRewriteルールですので、必要ないなら修正しなくても良いです。

あとはローカルで言う~/public_html/viewgit/index.phpへ、Webブラウザからアクセスするだけです!(デモ) commit履歴が見れたり、treeを確認出来たり、zipやtarボールでDLできたり…と便利。

GeSHi導入

ここではGeSHiの導入方法も説明します。と言っても、展開するだけなのですが…。

$ cd ~/
$ wget http://downloads.sourceforge.net/project/geshi/geshi/GeSHi%201.0.8.6/geshi-1.0.8.6.tar.gz
$ tar xvzf geshi-1.0.8.6.tar.gz
$ mv geshi ~/viewgit/inc/

これだけです。Viewgitのコードが見やすくなったかと思います。