31
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

HRBrainAdvent Calendar 2023

Day 1

ブラウザ上でリポジトリの内容を確認するコマンド git instaweb を使ってみる

Last updated at Posted at 2023-11-30

はじめに

こんにちは、ken です。
先日git reflogの使い方を確認しようと思い git の公式ドキュメントを読んでいたところ、あまり使ったことがない git コマンドが目につきました。
気になって使ってみたところ思いの外便利そうだったので今回はその git コマンド git instaweb について紹介しようと思います。
本記事はHRBrain Advent Calendar 2023の1日目の記事です。

git instaweb って?

git instawebはローカルの Git リポジトリの状態をブラウザ上で確認することができるコマンドです。ターミナル上でgit instawebと入力するとブラウザが立ち上がり、画像のようなページが表示されます。
ここではコミット履歴の確認やコミットごとの diff の確認などが簡単に行うことができます。
(以下に載せる画像の中には本名やメールアドレスが映っている部分があるので一部マスクしています)

output.gif

使用方法

状態を確認したい git プロジェクト上で次のコマンドを入力します。

$ git instaweb
lighttpd not found.というエラーが出た場合

このコマンド実行時に次のようなエラーが出ることがあります

lighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.

lighttpdというのは web サーバーの1つです。git instawebコマンドではローカル Git リポジトリのコンテンツをウェブブラウザを通じて閲覧可能にするために web サーバを用意する必要があります。
なのでこのエラーが表示された場合は案内に従ってlighttpdをインストールしましょう。Mac の場合は次のコマンドでインストールが可能です。

brew install lighttpd

インストール後は再度git instawebコマンドを実行してみてください。

また、Macの場合は元からRubyが入っており、その標準ライブラリであるWEBrickを使えばlighttpdをインストールせずともgit instawebを動かすことができます。手っ取り早く動かしたい方はこちらを使うと良いかもしれません。

git instaweb --httpd=webrick
無事にコマンドが成功すれば先程お見せしたようなような画面になると思います。

git instawebから確認できること

ここから先はgit instawebのコマンドで立ち上がるページから確認できることについて書いていきます。

shortlog

git shortlogコマンドと同様に、コミット履歴を一覧で見ることができます。
そしてもし一覧の中で気になったコミットがあればそのコミットの diff を確認できます。
shortlog.png

log

先程のshortlogとほとんど同様ですがより詳細なログを見ることができます
log.png

commit

shortlogもしくはlogのページで気になるコミットがあればそのコミットの詳細を閲覧できます。
ここでは GitHub のようにそのコミットで行ったファイルの変更(diff)などを確認できます。
そして diff は inline 形式と side by side 形式で表示を切り替えることができます。
commit.png

検索機能

ここではリポジトリの情報を検索できます。

search.png

この検索機能には commit,grep,author,committer,pickaxe の 5 種類があり、なかでもpickaxeを使うと検索文字列が現れたり消えたりしたすべてのコミット(文字列を追加、削除、修正した変更)をリストアップできます。
たとえば「TODO」という文字列をpickaxeで検索するとTODOコメントをつけたり削除したりしたコミットの一覧が見られるということですね。これは知っておくといつか使い道がありそうです。
また検索バーの横にある「re」にチェックを入れれば正規表現を使った検索も可能です。

停止コマンド

このコマンドを使ったあとは、システムリソースを解放するためにきちんと以下の停止コマンドを実行しましょう。

git instaweb --stop

さいごに

今回は git instaweb コマンドをご紹介しました。
terminal 上では見にくい diff や log がブラウザ上だとスッキリと表示されるので非常に見やすいですね。
忘れがちなgitコマンドもこのinstawebさえ覚えておけばコミットの詳細やログを簡単に追うことができます。まだまだgitには知らないコマンドがあるということを実感しました。

そして株式会社HRBrainでは新しいメンバーを募集しています。

弊社に興味を持った方がいればぜひご応募ください!

31
8
0

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
31
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?