私のメインIDEはEclipseで、SVNを使用しているのですが、githubにちょっと公開したいソースができたので、gitもEclipseからできないものかとプラグインを探してみたら、ありました。EGit。 前に調べたときはmsysgitでやるしかなく、Eclipseプラグインもgit向けが出たばっかりでろくに動かなかったので見送っていました。コマンドで暮らしてれば別に問題ないのでしょうが、GUIメインですし、メインの開発環境から出ずに済むならその方がいいです。

インストール

アップデートサイトがあるので、http://download.eclipse.org/egit/updatesからEclipseユーザならいつものパターンでインストールできます。新規ソフトウェアのインストールからウィザードに従ってインストールします。EGitはgitクライアントのJavaによる実装、JGitをベースにしています。

リポジトリを作る

まずは普段どおり、githubにリポジトリを作ります。ここからが普段と異なるところで、通常、リポジトリを作った後、ローカルブランチ(master)からoriginに向けて一度、pushをすることでリポジトリの作成は完了するチュートリアルが提供されていますが、pushの操作をEclipseから行ないます。ssh公開鍵の登録が必要ですが、その操作については割愛します。

Eclipseにリポジトリをインポート

[ウィンドウ]->[Viewの表示]->[その他]をクリックし、[Git]->[Git Repositries]を選択します。パースペクティブ上にGitビューが表示されるので、そこで右クリックし、[Git リポジトリーのインポート]を選択します。ロケーションのURIにgithubのリポジトリページで表示されている、「git@github.com…」をコピーして、URIに貼りつけます。必要な情報は補完入力されるので、ssh公開鍵のパスフレーズを入力して、次へ進んでいきます。初めてのsshアクセスだとknown_hostsの登録を確認されるので、そのまま従ってください。

リポジトリからプロジェクトを作る

Gitビューに表示されたリポジトリから右クリックし、[Import Projects]を選択します。[Use the New Projects wizard]を選択し、完了するとプロジェクト作成ウィザードが起動するので、任意のプロジェクトを作成します。

コミットする

作成されたプロジェクトでREADMEなど、何らかのファイルを作成した後、右クリックから[チーム]->[コミット]を行います。

originにプッシュする

プロジェクトを右クリックし、[チーム]->[push]を選択します。宛先のリポジトリを選択するのですが、必ずCustom URIを利用してください。2010/08/29の時点では、登録済みリポジトリを利用するConfigured remote repositoryからはリモートリポジトリの接続に失敗するバグがあります。Custom URIの[URI]にgithubリポジトリのURIを入力し、ssh公開鍵のパスフレーズを入力して次へ進みます。Source Refのプルダウンからmasterを選択し、[Add spec]を選択し継へ進みます。今回更新する内容が表示されるので、問題なければ完了を選択します。これでoriginに編集結果が反映されました。

バグがあるのと、ややUI的に発展途上な部分もありますが、メイン開発環境からいつもどおりに作業できるのは嬉しいですね。