March 24, 2009

Eclipseでgitプラグインの使い方

統合開発環境Eclipseを使って、gitで運用しているプロジェクトを扱っているのですが、gitプラグインの使い方がよくわからなかったので、一連の動作について試行錯誤した結果をメモとして残しておこうと思います。なおgitプラグインのインストールは、普段どおりUpdateサイトを利用して簡単に行うことができました。

ちょっと長くなりそうなので、続きをどうぞ。既存リモートリポジトリからクローンの作成、リモートリポジトリから更新があったかの確認、更新のローカルコミットとそれのリモートリポジトリへの反映についてまとめてあります。

まずはリモートに既存のリポジトリが存在し、それからファイルを引っ張ってくるクローン(clone)という作業について書きます。これはインポートのメニューから行うことができます。Git Repositoryを選択し、次の画面で以下のように適切なプロトコルと場所を設定します。今回は複数PC間でファイルを簡単に共有することができるDropbox上にリポジトリが作ってあったので、fileプロトコルを選択し、Dropbox内のリポジトリへパスを設定しました(M$のWindowsを使っていたのですが、パスの区切り文字が¥であったり、空欄が含まれていても大丈夫のようです)。

git_checkout_set_protocol_location.png

リポジトリの設定が適切なら、どのブランチをクローンするか選択する画面へと進みます。そして選択して次へを選ぶと、クローンする先のディレクトリを指定する画面になります。適当なクローン先のディレクトリ(今回はCatalogとしました)を指定しますが、その他に、もし既存のリポジトリがeclipseを使って開発されていないようでしたら、『Import projects after clone』のチェック(下の画面の赤丸)をはずして終了します。eclipseを使って既に開発されているプロジェクトでしたらチェックをはずさずに、次へを選択して、さらにeclipseにどのようにプロジェクトとして認識させるか(プロジェクトのインポートの作業)を選択、その後プロジェクトの画面にリポジトリからチェックアウトした内容があらわれることになります。

git_set_clone_location.png

このチェックをつけなかった場合、プロジェクトの画面にクローンしたファイルが現れず焦りますが、ファイル自体のクローンは終了していますので、eclipseに何らかのプロジェクトのファイルとして認識させることでファイルを見えるようにします。例えばRubyプロジェクトの場合、新規プロジェクトでRuby Projectを選択し、次の画面で設定するプロジェクトの保管場所をクローンした先(Catalog)に指定すると、下の画面のように『既にファイルあるみたいだから、最大限努力してその設定を取り込むんでみるわ』というメッセージがでて、認識完了、クローンしたファイルが新規に作成したRubyプロジェクトの一員として見えるようになりました。

git_make_project_over_existing_localtion.png

最後にこのファイルがgitによって管理されているよ、ということをeclipseに認識させるため、プロジェクト上で右クリックして現れる[チーム]-[プロジェクトの共用]でリポジトリータイプをgitとし、Repository LocationをSearch for existing Git Repositoriesにしておくと、クローン元のリポジトリがリモートのリポジトリとして設定されることになります。

加えて、普段行う日常作業について説明します。まずは、作業開始前にリモートで変更があったかどうか確認するフェッチ(fetch)のやり方を示します。やり方は、プロジェクトのルートを右クリックし、[チーム]-[Fetch From]を選択し、Configured remote repositoriesにチェックがあることを確認(クローン元以外のリポジトリから取ってくる場合はCustom URIに適切な設定をすればよいみたいです)して次へ、どのブランチをfetchするか選択(よくわからない場合はadd all branches specボタンを押せばよいと思います)して終了すると、リモートで更新があった場合はローカルに反映されるようです。

リモートの更新をフェッチでさらった後、ローカルでファイルの追加や編集作業をしたとします。これらの作業をリモートのリポジトリに反映させるためには、まずは新たに追加したファイルやディレクトリ(?マークが付いている)をリポジトリの一員として扱うためにアッド(add)を行います。Addはルートで右クリック、[チーム]-[Track (Add)]を選択すると複数の対象を一括でできます。?マークが+マークに変われば完了です。

次に変更点があったファイルやディレクトリ(※や+マークが付いている)をローカルのリポジトリに教えてあげます。これがコミット(Commit)という作業で、[チーム]-[Commit]をするとこの作業は完了です。マークがオレンジ色に変わったら完了です。

最後に、ローカルのリポジトリの内容をリモートのリポジトリに反映します。これはプッシュ(push)という作業で、ルートで右クリック、[チーム]-[Push To]を選択して行います。次以降で現れるリモートのリポジトリ場所やブランチの選択はフェッチと同じです。どのブランチがどのように変更されるのかの確認が最後にでますので、そこで終了を押せば完了します。

以上で大まかな使い方が紹介できたのではないかと思います。ブランチの切り替えなど高度な方法も使えるようなので、それは今後探っていきたいと思います。

15:13 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/693
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。