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