Ubuntu Weekly Recipe

第212回 Git/Bazaarブラウザあれこれ

この記事を読むのに必要な時間:およそ 2 分

明日から3月です。春です。春といえば出会いと別れの季節。「出会い(merge)」「別れ(branch)」を初心者でも効率よく行うために,グラフィカルなインターフェースを備えたGit/Bazaarクライアントをいくつかご紹介します。

Gitクライアント

Gitは世界でもっとも使われている分散型バージョン管理システムです。Recipeの読者であれば,LinuxカーネルやGitHubなんかでお世話になっている人も多いことでしょう。Ubuntuでもgitパッケージをインストールすることで簡単に導入できます。

ちなみに,Gitは初期状態だと日本語などのマルチバイトのファイル名を数値表現で表示します。git-gui/gitk以外のクライアントはこれを数値のまま表示してしまうため,日本語ファイル名を含む差分を見るときに不便です。以下のコマンドで,数値表現に変更せずそのまま表示するように設定を変更しておくとよいでしょう。

$ git config --global core.quotepath false

git-gui/gitk

git-gui/gitkはGitに公式に組み込まれているGUIクライアントです。gitkがリポジトリの履歴や差分を閲覧するビューワーで,git-guiが各種gitコマンドを実行するためのフロントエンドになります。git-guiからgitkもしくはgitkからgit-guiを呼び出すことも可能です。

Ubuntuだとgit-gui/gitkパッケージをインストールすれば使えるようになります。

$ sudo apt-get install git-gui gitk

例えば任意のリポジトリでコマンドからgitkを起動した画面は以下のような感じになります。ちなみにブランチをすべて表示したい場合は,各コマンドの後ろに--allをつけてください。他のツールでもこの--allオプションが有効な場合があります。

図1 日本語ファイル名も問題なく表示される

図1 日本語ファイル名も問題なく表示される

ファイルから「git guiの開始」を選択するとgit guiが起動します。

図2 iBusから日本語のコミットメッセージも入力できる

図2 iBusから日本語のコミットメッセージも入力できる

Tcl/TkベースのUIなので,少し古い感じのするインターフェースとなっていますが,gitで必要な操作を一通りできるのと,軽さが強みです。

Qgit

Qgitはその名のとおりQtベースのGit GUIクライアントです。モダンなインターフェースで,履歴や差分を見たり,そこからパッチを生成することができます。

$ sudo apt-get install qgit

起動方法はリポジトリでqgitコマンドを入力するか,Dashからqgitを検索しリポジトリを追加してください。

図3 ブランチグラフが表示されるので関係がわかりやすい

図3 ブランチグラフが表示されるので関係がわかりやすい

ブランチの生成やコミットもできるのですが,gitの細かい操作はActionsを経て実行する必要があり,どちらかというとStGITと連携したパッチ管理システムのインターフェースとしての使い方の方があっているようです。

git-cola

git-colaもまたQtベースのGUIクライアントですが,こちらはPython-Qtを使っています。qgitと違って,マージやpush/pullといった操作も最初から用意されているので,Gitのインターフェースとして使いたいなら,qgitよりもこちらをおすすめします。

$ sudo apt-get install git-cola

図4 git-colaは起動するとまずコミット用のインターフェースになる

図4 git-colaは起動するとまずコミット用のインターフェースになる

図5 メニューのコミット→Browseからコミットログを表示する

図5 メニューのコミット→Browseからコミットログを表示する

ただし,リポジトリからインストールできるのは1.4系列です。数ヶ月前に1.7系がリリースされて,インターフェースも刷新され,履歴をDAG形式で視覚化したgit-dagも強化されているので,新しい方を自分でインストールするのもよいでしょう。

Giggle

Gtk+ベースのGitクライアントだと,GNOMEで開発しているgiggleが有名です。GNOMEのポリシーにあわせた,シンプルでわかりやすいインターフェースが特徴です。

$ sudo apt-get install giggle

ファイルペイン表示からGeditを起動してファイルを編集するなど,Nautilusでのファイル操作を多用している人ならすぐに慣れるでしょう。

図6 Ubuntuのインターフェースにも合ったシンプルな作りになっている

図6 Ubuntuのインターフェースにも合ったシンプルな作りになっている

ただし,チェックアウトやマージの機能がない,大きなリポジトリの取り込み時や差分表示時に若干もたつくなど,他のクライアントに比べると機能性についてはまだ足りない印象です。

ちなみにgiggle-terminal-view-pluginを使って端末を組み込むこともできるので,履歴の表示などはgiggleで,細かい操作は端末でといった切り分けも可能です。

図7 表示→端末の作成から端末を内蔵することができる

図7 表示→端末の作成から端末を内蔵することができる

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入