以前の記事「SubversionリポジトリをGitへ移行する」に書かれているように、筆者らはPiece FrameworkのリポジトリのGitHubへの移行を進めていましたが、その作業がようやく完了しました。筆者が開発を担当しているPiece_IDEは複数のEclipseプラグインから構成されており、当然ながら開発もEclipseで行っています。そのためEclipse上からgitリポジトリを操作できると便利です。そういったEclipseプラグインがないか探してみたところEGitというプラグインが見つかりました。

MATSUFUJI Hideharu

EGit

EGitは以下の更新サイトからインストールすることができます。

http://www.jgit.org/update-site

EGitの2009年3月8日現在の最新バージョンは0.4.0です。必要な機能はひととおり揃っているので、普段の開発でも十分利用することができます。

Eclipse上でGitHubを利用する方法については、GitHubのドキュメント、Guides: Using the EGit Eclipse Plugin with GitHubに書かれています。GitHubを利用されない方でも、EGitを利用される方であれば参考になるドキュメントですので、一読されることをお勧めします。

EGitを使った主な操作

EGitの主な操作はプロジェクトのコンテキストメニューの [Team] メニューから行います。EGitプラグインが提供するほとんどすべての機能をこのメニューが表しています。

team-menu.png

先述のGuides: Using the EGit Eclipse Plugin with GitHubにはgitリポジトリのインポートやプッシュの方法が書かれているので、ここではコミットとブランチの作成について説明します。

コミット

コミットは先述のプロジェクトのコンテキストメニューの [Team]->[Commit] メニューで行うことができます。

commit.png

下のリストにコミットの対象が表示されています。左のチェックボックスのチェックを外すことでコミットの対象外とすることできます。

新規のファイルに関してはコミットする前に [Team]->[Track (Add)] メニューで追加しておく必要があります。Subversionをコマンドラインで使われていた方にとっては当たり前のことなのですが、EclipseSubclipseプラグインはバージョン管理に含まれていないファイルはコミット時に自動的に追加されるので、それに慣れてしまっている方は注意が必要です。筆者は見事にこのワナにハマってしまいましたorz

ブランチの作成と切り替え

gitの特徴のひとつに簡単にブランチを作成できるとう点が挙げられます。開発者が各々のリポジトリを保持するため、その中で自分だけのブランチを作成し、リモートリポジトリに影響を及ぼすことなく、いろいろなテストを行うことができます。

Piece_IDEの開発でもそうなのですが、新しい技術に取り組むときには試行錯誤の段階があります。そういった試行錯誤の段階でも後戻りできるようにバージョン管理を行いたいが、その過程はリモートリポジトリに反映させたくない、というような場合にブランチが重宝します。いわば自分だけの箱庭を作るような感じですね。

[Team]->[Branch...] メニューでリポジトリのブランチの一覧が表示されます。切り替えたいブランチを選択し、[Checkout] ボタンをクリックするとブランチが切り替わります。

また [New Branch] ボタンをクリックすることで新たなブランチを作成することもできます。

branch.png

EGitでできないこと

さて、このように便利なEGitですが、できないこともあります。ほかにもいろいろありそうなのですが、とりあえず目についたのは以下の3点です。

  • ブランチを削除できない
  • ブランチ間のマージができない
  • 各コマンドに対してキー操作を割り当てることができない

最初の2つについてはそれほど頻繁に発生する作業ではありませんが、Eclipse上で済ませてしまいたいところです。特にマージに関してはEclipseのCompare機能を利用して実装してほしいなぁと思います。[Team] メニューに [Fetch from...] はあるのですが、マージがないというのはどうも片手落ちという感じは否めません。

最初の2つよりも筆者にとって重大な問題は3つめです。Subversionの場合、筆者は以下のようなキーバインドを設定しています。

操作キーバインド
コミットAlt+S C
ヒストリAlt+S H
直近のリビジョンとワーキングコピーの比較Alt+S D

いちいちコンテキストメニューの [Team] メニューから呼び出すのは使い勝手が悪いので困っています。ほかのふたつと違って、Eclipseでなんとかなる範囲なので時間があったら対応してみようと思います。ちなみに"Alt+S"の"S"はSubversionの"S"です。キーバインドを登録できるようなったら"git"の"G"にする予定です:-)

トラックバック(0)
  • このブログ記事のトラックバックURL:
コメント