EclipseでGitを使う(4)プッシュまでの流れをまとめる。
0.はじめに
本記事は、EclipseでGitを使ってバージョン管理をしていく方法を説明していくシリーズの第4回です。
前回まででソースをリポジトリを経由して、複数メンバが共有するところまでを説明しました。
今回は、自分がソースに修正を加えた際に、どのような手順で修正履歴を残し、どのように共有リポジトリに上げていくのかを説明します。
1.ソースの修正を行う
そもそもソース修正がなければ、コミットやプッシュをする必要もありませんので、まずはソース修正を行う場合を考えます。
ソースの修正を行う際は、普段みなさんがJavaを開発するときと同様、「Javaパースペクティブ」「Java EE パースペクティブ」で修正します。
(パースペクティブは「ウィンドウ>パースペクティブを開く」から選択できます。)
ソースの修正を行うと、そのソースファイルの左側に「>」記号が付きます。
これが変更があったファイルの目印になるのです。
新たにファイルを追加した場合、ファイルアイコンに「?」記号が付きます。
これはまだGit管理下に置かれていないことを意味します。
ではファイルを削除した場合はどうなるでしょう?
ファイルを右クリックしてメニューを表示し「×削除」を押してみてください。
「Javaパースペクティブ」上からファイルがなくなります。
しかしこの場合「削除されました」という情報は、まだコミットもされていませんしプッシュもされていません。
つまり、「作業ディレクトリ」においては削除されたけれども、「ローカルリポジトリ」「リモートリポジトリ」には反映されていない状態です。
もう少し正確に言うと「ステージング」に上がっている状態です。「Gitステージング」を表示してみましょう。
削除したファイルに黒い「×」アイコンがついた状態で、「Gitステージング」に表示されていることが分かります。
そして、このようにステージングに上がった状態のファイルは、「Javaパースペクティブ」上で見ると、黒い「*」アイコンが付いた状態で表示されます。
また、上記のアイコン達は、当該ファイルが存在するディレクトリにも同様に表示されますので、わざわざ全ファイルを見なくても、どのディレクトリにどのようなステータスのファイルがあるのかは判断がつけられるのです。
2.ステージングへ追加する
次にステージングへ追加します。先ほど削除ファイルを確認した「Gitステージング」ビューを確認します。「Gitステージング」は、「ウィンドウ>ビューの表示」から選択が可能です。
「ステージされていない変更」に表示されているものが「作業ディレクトリ」にしか変更が反映されていないファイルの一覧です。
「ステージングに上げたいもの」=「コミットしたいもの」≒「プッシュしたいもの」を選択し右クリックしましょう。「Git索引へ追加」をクリックすると、該当ファイルが「ステージされた変更」へ移動します。
3.コミットする
では先ほどのGitステージングにて「コミット・メッセージ」を入力した後、「コミット」ボタンをクリックしましょう。これでコミット完了です。
先ほどまで「>」「x」「*」などの記号が付いていたファイルの記号がなくなっていることが分かると思います。
コミットには他の方法もあります。
変更したファイルを直接右クリックし、「チーム>コミット」を選択する方法です。
この場合はステージングを経由せずに直接コミットが行えるので簡単と言えば簡単ですが、
ステージングのことを意識することがないので、最初のうちはGitステージングを利用した方がいいかもしれません。
4.プッシュする
最後にローカルリポジトリの最新ソースをリモートリポジトリにプッシュします。
リポジトリと連携しているプロジェクトを右クリックし、「チーム>リモート>プッシュ」を選択します。
宛先リポジトリ(第1回で作成したリポジトリ)、ソース参照(master)、宛先参照(master)を選択し、完了します。これでリモートリポジトリへのプッシュが完了です。
5.まとめ
様々なアイコンで現状のステータスが分かるEclipseの良さがGitを使う上で効果的に活きていることがわかりますね。今回はスムーズにプッシュができた場合の説明をしましたが、如何せん、そのような単純なケースばかりとは限りません。例えば、誰か別の人が修正をして、自分がプッシュしたいファイルを先にプッシュしているケースなど、がありますよね。次回はそのあたりを試しながら見ていきたいと思います。