git 操作はコンソールで行うのが一番確実で柔軟に対応できるのですが、GUIがあっても損ではないので調べてみました。ただ実用的に使えるかどうかまでは調べていませんのでご注意ください。
Gitk
本家定番のツール。これで出来ないこともないけれど他のツールのほうが優れているならそちらを使用したい。
GitForce
WindowsとLinuxに対してツールを提供している。
ぱっと見たところログのグラフが無いようなのでつらいかも。
QGit
2007年で開発停止。スクリーンショットを見る限りでは普通。
git-cola
Windows, Mac, Linux(archlinux,debian,fedora,gentoo,ubuntu,opensuse) と対応範囲が広い。Pythonで実装されている模様。
スクリーンショットを見る限りこれは検討するに値しそう。
tig
text mode interface for git ということらしい。GUIではないけれど、git のコマンドラインラッパーということで。
単純なコマンドたたきはつらいが、これなら使える気にさせてくれるかも。
Giggle
開発が停止している模様.こちらもログの描画はそれなりに出来る模様。
git-cola を試してみる
インストール
Fedora23 で試したときには以下のコマンドを実行しました。
$ sudo dnf install git-cola
起動
git-cola とタイプすれば起動します。即座にはコードのコミットを行うモードとなっているようです。
コミット要約のテキストボックスと、コミット詳細のそれぞれのメッセージを入力する部分が独立しているので、コミットメッセージの書き方をある程度整えることが出来そうです。
またこの画面でメニューから項目を選ぶことでリポジトリ操作が可能なようになっていました。
グラフィカルな履歴を見る場合には、メニューから “View/DAG” と選択します。
コマンドラインで直接 git-dag とタイプしても起動できるようです。
複数のブランチを集約してグラフ化する方法はちょっと見つけられませんでした。
コミットログの確認の部分がやりにくいため、自分のスタイルには合わなさそうでした。ただログを確認せずガンガン進むような人は扱いやすいのかもしれません。
tig を試してみる
tig: text mode interface for git を試してみます。
最初の感想としてはこれは常用アリかなと思っています。CUIだけどマウス操作もちょっとできたりして驚きです。
インストール
Fedora23 で試したときには以下のコマンドを実行しました。
$ sudo dnf install tig
起動
実行するには tig とタイプします。デフォルトではカレントブランチの情報しか出ないため、すべてを表示するには “–all” オプションを使用します。
起動すると以下のようになります。コミットログを確認するモードで立ち上がりました。
ブランチへの派生グラフがスラッシュ、バックスラッシュを使わない描画のためか、自分には割とこれが見やすかったりします。
git らしくコミットのフェーズがステージング、コミットと分かれた方法になっています。
ステータスビュー(“S”)に切り替えた後、コミット対象を”u” で選んで、”C”(Shift+s) でコミットメッセージ入力となります。
これらのヘルプを確認するには、”h” となっています。
いくつか機能としては足りていない部分があり、たとえばブランチの切り替えはこのツールでは見当たらない感じだったので、git コマンドを操作することになりそうです。
ただ設定ファイル(.tigrc) で拡張コマンドを定義できたりデフォルトの設定を変えたりと柔軟なことが出来そうだったので、カスタマイズをちゃんと行えば出来る範囲は広がっていくものと思われます。
その他
カーソルキーではビューの移動になってしまい、スクロール関連に戸惑いました。
アクティブのビューでのページスクロールは PageUp/Down で、1行単位での行スクロールは、”j”, “k” となっています。
git add -p のように部分的な変更をステージングへ登録する際にはこれも使用することになります。行を選択して “u” で、その部分をステージング登録できます。
これは git add -p を直接実行するよりは使い勝手がよいと感じています。
まとめ
とりあえず gitk を卒業して tig で Linux での git 生活を始めてみようと思います。