EclipseでGitをクライアント用途として使用(EGit)

EclipseでGitをクライアント用途として使用(EGit)

ファイルのバージョン管理システムであるGitを、Eclipseからクライアント用途として使用する方法を以下に示します。

※ここでは主に導入部分を取り上げています。ファイルの変更内容の差分の確認方法や、競合のマージ方法については、当サイトのEclipseでGitをクライアント用途として使用(その2)のページをご覧ください。

EclipseでGitを使用するプラグインとしてEGitがあり、それを使用しています。

Gitの構成等に関する詳しい説明に関しては、公式サイトのドキュメント等を参考にして頂くのが分かり易いかと思いますのでここでは省略しますが、ざっくりと述べますとGitではGitを利用する各マシンにリポジトリが存在し、各マシンのリポジトリに記録されているファイルの変更履歴を他のマシンのリポジトリとやり取りしていく構成となっています。

複数人でファイルを共有して管理したい場合は、サーバー用途で使用するマシンにある1つのリポジトリに対し、各マシンのリポジトリからデータを送受信する形になります。

(CVS、Subversionではリポジトリはサーバー上に1箇所のみあり、それをクライアントから利用する構成となっているのが、Gitとは異なる点になります。)

ここではGitサーバーとして、当サイトのCentOSにGitをサーバー用途としてインストール、設定のページで紹介しているリポジトリを例として使用しています。

ここで紹介している手順は、Windows8.1でEclipse 4.5 Mars Pleiades All in One PHPを使用したものになっています。

コミット時のログに記録するユーザー名、メールアドレスを設定

Gitでファイルのコミットを行う際のログに、コミットを行ったユーザーの情報として記録される、ユーザー名とメールアドレスの設定を行います。

尚、この設定を行っていない場合は、コミット時のユーザー名としてコンピューターにログインしているユーザー名が使用され、メールアドレスとして「コンピューターにログインしているユーザー名@コンピューターのIPアドレス」が使用されるようになっています。

(1)

Eclipseの「ウィンドウ」メニューから「設定」を選択します。

(2)

「設定」画面で左のツリーメニューから「チーム」→「Git」→「構成」を選択します。

(3)

「構成」画面で「ユーザー設定」タブを開き、「エントリーの追加」ボタンをクリックします。

(4)

「構成エントリーの追加」画面で以下の設定を行い、「OK」ボタンをクリックします。

  • キー:「user.name」と入力
  • 値:ユーザー名として使用したい値を入力
(5)

続けて「エントリーの追加」ボタンをクリックし、「構成エントリーの追加」画面で以下の設定を行い、「OK」ボタンをクリックします。

  • キー:「user.email」と入力
  • 値:メールアドレスとして使用したい値を入力
(6)

設定後の「構成」画面は以下のようになります。

「OK」ボタンをクリックして、設定を終了します。

Gitサーバーからリポジトリをクローン

Gitでは、既存のリポジトリのコピーを取得する操作をクローンと言います。

ここでは例として、当サイトのCentOSにGitをサーバー用途としてインストール、設定のページで紹介しているリポジトリのクローンを行います。

(1)

Eclipseの「ウィンドウ」メニューから「パースペククティブ」→「パースペククティブを開く」→「その他」を選択し、「パースペククティブを開く」画面から「Git」を選択し、「OK」ボタンをクリックします。

(2)

「Gitリポジトリー」のメニューから「Gitリポジトリーの複製」を選択します。

(3)

「Gitリポジトリーの複製」画面で以下の設定を行い、「次へ」ボタンをクリックします。

※「ロケーション – URI」は、以下の項目を設定すると自動的に入力されるようになっています。

  • ロケーション – ホスト:GitサーバーのIPアドレス、またはホスト名を入力
  • ロケーション – リポジトリー・パス:Gitサーバーでリポジトリが作成されているディレクトリのパスを入力
  • 接続 – プロトコル:Gitサーバーのリポジトリへの接続方法を選択 (ここで例として使用しているリポジトリへは、SSHで接続するようになっています。)
  • 認証 – ユーザー:GitサーバーのリポジトリへSSHで接続する際のユーザーを入力
  • 認証 – パスワード:GitサーバーのリポジトリへSSHで接続する際のユーザーのパスワードを入力
  • 認証 – セキュア・ストアに保管:認証情報をEclipseのセキュア・ストレージに保存する場合は、チェックを入れます

※接続先のホストのRSAキー・フィンガープリントに関して、接続を続行するか確認するダイアログが表示された場合は、「はい」ボタンをクリックします。

※ここで保存されるSSHでの接続先ホストのキー情報は、Eclipseの「ウィンドウ」メニューから「設定」を選択し、「設定」画面で左のツリーメニューから「一般」→「ネットワーク接続」→「SSH2」を選択し、「既存ホスト」タブを選択すると開く画面で確認できます。

(4)

「ブランチ選択」画面では、初期状態ではリポジトリのブランチは空のため、そのまま「次へ」ボタンをクリックします。

(5)

「ローカル宛先」画面では、特に変更の必要がなければ、そのまま「完了」ボタンをクリックします。

※「宛先 – ディレクトリー」は、サーバーからクローンしてきたリポジトリのローカル側への保存先となります。デフォルトではコンピューターにログインしているユーザーのユーザーディレクトリ配下の「git」ディレクトリに、クローンしたリポジトリのディレクトリ「rep.git」から「.git」を除いたものが指定されるようになっています。

※「構成 – リモート名」は、先に自動入力されたサーバー側のリポジトリのURIを指定するときに使用できる別名になります。Gitをコマンドラインで使用する時に、URIの入力を短縮できるようになります。

(6)

「Gitリポジトリー」にクローンしたリポジトリが追加されます。

空のリポジトリをクローンしたので、まだブランチは存在せず、作業ディレクトリーにプロジェクトも存在しません。

Eclipse上のプロジェクトをサーバーのリポジトリに追加

(1)

Eclipse上のプロジェクトの右クリックメニューから「チーム」→「プロジェクトの共用」を選択します。

(2)

「プロジェクトの共用」画面で「Git」を選択し、「次へ」ボタンをクリックします。

(3)

「Gitリポジトリーの構成」画面で、「リポジトリー」に先にクローンしたリポジトリを選択し、「完了」ボタンをクリックします。

※Eclipseのプロジェクトの保存先は、元の場所からローカルのリポジトリの場所に変更されます。

「Gitリポジトリー」で、作業ディレクトリーにプロジェクトが追加されます。

(4)

ここまででEclipseのプロジェクトはローカルのリポジトリの管理対象となりましたが、プロジェクト内のファイルはまだリポジトリには追加されていません。

Gitでファイルをリポジトリに追加する流れは、まずローカルのリポジトリの管理対象とし(Gitではステージすると言います。Eclipseでは「索引に追加」と表記されています。)、次にローカルのリポジトリへコミットを行ってファイルの変更履歴を記録し、続いてローカルのリポジトリからサーバーのリポジトリにその変更履歴を送信する操作となるプッシュを行うというものになります。

コミットはステージするのを省略して行うこともできますので、ここでも省略して行っていきます。

Eclipse上のプロジェクトの右クリックメニューから「チーム」→「コミット」を選択します。

※「Gitリポジトリー」で、リポジトリーの右クリックメニューから「コミット」を選択しても同様です。

(5)

「変更をコミット」画面で、「コミット・メッセージ」に今回のコミットに記録するメッセージを入力し、ファイル一覧からコミットを行うファイルにチェックを入れ、「コミット」ボタンをクリックします。

※ファイル一覧の右上に表示されている3つのアイコンの一番左の「?」のもの(アントラック・ファイルの表示)を選択状態にすると、ステージしていないファイルも表示され、コミットの対象に選択できるようになります。

「Gitリポジトリー」で、ローカルに「master」というブランチが追加されます。「master」ブランチは、Gitで最初のコミット時にデフォルトで作成されるブランチになります。

また、参照に「HEAD」というものが追加されますが、「HEAD」とは現在作業となっているブランチを示すものになります。

(6)

続いてローカルのリポジトリにコミットしたものをサーバーのリポジトリに送信するため、プッシュを行います。

Eclipse上のプロジェクトの右クリックメニューから「チーム」→「Push Branch ‘master’」を選択します。

※「Gitリポジトリー」で、リポジトリーの右クリックメニューから「Push Branch ‘master’」を選択しても同様です。

※「Gitリポジトリー」で、ローカルの「master」ブランチの右クリックメニューから「ブランチへプッシュ」を選択しても同様です。

※手順(5)の「変更をコミット」画面で、「コミットおよびプッシュ」ボタンをクリックして、コミットとプッシュを続けて行うこともできます。

(7)

「Push to branch on remote」画面で、「次へ」ボタンをクリックします。

※「プッシュおよびプルのアップストリームを構成する」のチェックボックスは、詳細が分かっていないためチェックを付けないようにしています。

(8)

「プッシュ確認」画面で、「完了」ボタンをクリックします。

(9)

「プッシュ結果」画面で、「OK」ボタンをクリックします。

「Gitリポジトリー」で、リモート・トラッキングに「master」ブランチが追加されます。

サーバーのリポジトリに存在するEclipseのプロジェクトをローカル環境に取得

今度は上記のようにサーバーのリポジトリに追加されているEclipseのプロジェクトを、ローカル環境に取得する方法を以下に示します。

(1)

上記の「Gitサーバーからリポジトリをクローン」と同様の手順を行い、サーバーにあるリポジトリをクローンします。

※「ブランチ選択」画面には、ブランチ「master」が表示されるようになっており、こちらを選択します。

※「ローカル宛先」画面では、初期ブランチに「master」を選択します。

(2)

以下のようにリポジトリが取得されます。

リポジトリの右クリックメニューから「プロジェクトのインポート」を選択します。

(3)

「プロジェクトをインポートに使用するウィザードを選択」画面で、「Import existing Eclipse projects」を選択し、「次へ」ボタンをクリックします。

(4)

「プロジェクトのインポート」画面で、インポートするプロジェクトを選択し、「完了」ボタンをクリックします。

(5)

インポートしたプロジェクトがEclipseに追加されます。

以上でEclipseでGitをクライアント用途として使用(EGit)の完了です。