EGitによるGit操作
前項で紹介した手順の1と2をこの節で解説していきます。その中で、EGitによるGit操作の基本も併せて紹介していきます。
プロジェクトとローカルリポジトリを作成する
手順1にあるように、まずGitで管理するプロジェクトをEclipseで作成します。ここでは、話を簡単にするために、単なるJavaプロジェクトを作成することにしますが、第6回で作成したTomcatプロジェクト、第7回の動的Webプロジェクトでも同様の手順で行えます。第2回を参考に、プロジェクト名「FirstEGitProject」でJavaプロジェクトを作成してください。
プロジェクトが作成できたら、手順2にあるように、そのプロジェクトをGitのローカルリポジトリ化します。パッケージエクスプローラーで作成されたFirstEGitProjectプロジェクトフォルダを右クリックし、表示されたメニューから
[チーム] > [プロジェクトの共用]
を選択してください(図4)。
すると、図5のプロジェクトの共用ダイアログが表示されるので、[Git]を選択して、[次へ]をクリックします。
次に、図6のGitリポジトリの構成画面が表示されます。
この画面は、ローカルリポジトリをプロジェクトフォルダとは別の場所に作成し、そのリポジトリとこのプロジェクトを紐づけるための画面です。この方法はGitを使っていく上で少々使いにくく、通常行う方法とは違います。
通常は、プロジェクトフォルダをローカルリポジトリとします。その場合は、[プロジェクトの親フォルダ内のリポジトリを使用または作成]にチェックを入れます。すると、図7の画面に変化します。
この画面のプロジェクトリストからFirstEGitProjectを選択し、[リポジトリーの作成]をクリックします。すると、ローカルリポジトリが作成され、図8の画面に変化し、[完了]ボタンがクリックできるようになります。
[完了]をクリックし、ウィザードを終了させてください。すると、パッケージエクスプローラー上のプロジェクト表記が図9のように変化します。
プロジェクトフォルダ名の右横に[FirstEGitProject master]という表示が、Gitのリポジトリ名を表し、まさにGitで管理されていることを物語っています。
Gitのブランチという仕組みを理解しよう
なお、masterという表示について補足しておきます。このmasterはブランチ名を表します。Gitでは、リポジトリ内のファイルセットをブランチと読んでおり、必ずメインとなるブランチが存在します。通常、このメインのブランチのファイルセットを、製品としてリリースします。
そして、プロジェクト内のファイルを変更する際、メインのブランチに影響が少ないように現在のファイルセットを丸々コピーして別ブランチを作成し、そのブランチ上で改変できる仕組みが備わっています。一通り改変が終了したら、そのブランチの内容をメインのブランチに統合します。これを、マージといいます(図10)。
もちろん、ブランチはいくつも作成することができます。もし改変内容が不要な場合は、ブランチを削除すれば、全てを無かったことにすることも可能です。このようなブランチのうち、メインとなるブランチに対してEGitは自動的にmasterと命名するようになっています。先のリポジトリ名横のmasterという表示は、現在作業対象としているブランチ名を表しています。
なお、ブランチを作成したり、削除したりという内容は、本稿の範囲を超えるので、今回は割愛することをご了承ください。
ステージングとコミット
では、プロジェクトフォルダ名左横の[>]は何を表すのでしょうか。前項で行った手順はプロジェクトフォルダをリポジトリとする作業ですが、その時点では、リポジトリは空のままです。この空のリポジトリにファイル類を登録していく必要があります。この登録する作業を、先述のようにコミットといいます。
ただし、Gitでは、いきなりコミットはできません。まず、コミット対象のファイルを選択する必要があります。これを、ステージングといいます。つまり、Gitでの作業の流れは次の通りです。
ファイルの追加・編集→コミット対象ファイルをステージング→コミット
パッケージエクスプローラーでプロジェクトフォルダ名左横の「>」の表記は、追加・編集されているにもかかわらず、ステージングされていないファイルがあることを示すものです。
なお、プロジェクトを作っただけで、何もソースコードを記述していないのに、コミットされていないファイルがあることに不思議に思うかもしれませんが、Eclipseでプロジェクトを作成すると、隠しファイルとしてそのプロジェクトの設定ファイル類が自動で生成されています。これらが未ステージングなための表記となっています。そこで、これらの設定ファイル類をステージング→コミットしていきましょう。
ステージングする
まず、ステージングからです。パッケージエクスプローラーでFirstEGitProjectフォルダを右クリックし、表示されたメニューから、
[チーム]>[コミット]
を選択してください(図11)。
すると、図12のGitステージングビューが表示されます。
左側の[ステージされていない変更]に対象ファイルがリスト表示されています。このリストからコミット対象のファイルを選択し、をクリックすると、ステージングされます。もし全てのファイルをステージングする場合は、全てのファイルを選択して、をクリックしてもいいですが、一方で、をクリックしてもかまいません。
ここでは、表示されている全てのファイルをステージングしてください。すると、図13のように対象ファイルが[ステージされた変更]に移動します。
これで、コミット対象ファイルがステージングされました。もしステージング対象から外す場合は、[ステージされた変更]一覧から対象ファイルを選択し、をクリックします。全てのファイルを対象から外す場合は、をクリックします。
この状態で、パッケージエクスプローラーを見ると、図14のようになっています。
FirstEGitProjectフォルダ名左横にあった[>]表記がなくなり、代わりに、フォルダアイコンがに変化しています。この状態のプロジェクトは、コミット可能となっています。
コミットする
では、早速コミットしましょう。コミットは、Gitステージングビュー右下の[コミット]ボタンをクリックすればコミットできますが、コミットするためには必ずコミットメッセージを記述する必要があります。このコミットメッセージは、コミット内容がわかるものであれば何でもかまいません。そこで、ここでは、図15のように、「プロジェクトの作成。」と入力しておきます。
この状態で[コミット]ボタンをクリックし、コミットを行いましょう。無事コミットが終了すると、パッケージエクスプローラー上のFirstEGitProjectフォルダは図16のようになっています。
なお、コミットする際、Gitステージングビュー右下の[Author]と[Committer]に自身の名前とメールアドレスを「名前 <メールアドレス>」の書式で入力しておく必要があります。名前だけではコミットできないので注意しておいてください。