これからJavaで開発する初心者でもeclipseでGitを安心・安全に扱えるようになる為の記事第一弾です。
この記事を書く理由
現場ではJava言語で開発しているので、IDE(統合開発環境)はeclipseを使っています。そのeclipseからGitを管理しているのですが、数々の失敗をしてきました。その失敗を備忘録として記録していく事で初めてのeclipseで開発する人たちがGitを安心して使えるよう、参考にしてくれればと思った為です。
また、使い慣れないIDEで操作方法が分からなくて余計な工数を掛けない為にも、手順も書いていきます。
ちなみに、私は現場に入るまではずっとGitHub Desktopを使っていました。Gitコマンドはほとんど使った事がないガチ素人です。
参考
https://itsakura.com/eclipse-git-repository
eclipseでローカルブランチを作ろう!
こちらがeclipseを開いた時の状態です。左側「パッケージ・エクスプローラー」内で黒塗りされている箇所にプロジェクトファイルが配置されています。
featureブランチを作成します。
プロジェクトを選択 > 右クリック > チーム > 切り替え
切り替え(W)の中に新規ブランチがあるので選択します。するとポップアップが表示されます。
- ソース(S)の選択ボタン押下で親ブランチを選択できます。
- ブランチ名(B)に新規ブランチ名を入力します。
- 新規ブランチにチェックアウトにチェックが入っている事を確認します。
- 完了ボタンが活性になるので押下すると新規ブランチが作成されチェックアウトされます。
これでローカルに新規のfeatureブランチが作成されました。
パッケージ・エクスプローラーのプロジェクト名の右横のブランチ名が切り替わっています。
> プロジェクト名 [新規ブランチ名]
現在のGitの状態はこうなってます。
リモートブランチ
-----> master
ローカルブランチ
親ブランチのmasterからfeatureブランチが生えました
○--->master
\---> feature
ローカルの新規featureブランチをリモートへ反映させよう!!
プロジェクトを選択 > 右クリック > チーム > ブランチへプッシュ(B)...
次へ > 完了
問題なければ完了ボタンが押下できリモートへプッシュできます
リモートへ新規のfeatureブランチが反映されました。
リモートブランチ
親ブランチのmasterからfeatureブランチが生えました
○---> master
\--->feature
ローカルブランチ
親ブランチのmasterからfeatureブランチが生えました
○---> master
\--->feature
変更ソースをコミットしよう!!
修正ソースをコミットする。
①Gitステージングを使う
②ステージされていない変更
・ここに配置されいるファイルはリモートへコミットされない資材です
・ここに配置されているファイルはeclipseでは変更されていない資材とみなされます
③ステージされた変更
・ここに配置されているファイルはリモートへコミットされる資材です
・ここに配置されているファイルはeclipseでは変更された資材とみなされます
④コミットメッセージを入力します
⑤-1 コミットおよびプッシュボタンは一気にリモートまでプッシュしてくれます
⑤-2 コミットはコミットのみ作成されます
※Gitステージングが見当たらない場合
ウィンドウ(W) > ビューの表示 > その他(C) > フィルター入力に「Git」と入力 > Gitステージングが表示される > 選択 > OK
コミットをリモートへプッシュしよう!!その前に
featureブランチを作成して開発をしている間にチームメンバーの修正分が次々とmasterへマージされて、masterのHEADがどんどん先に進んでいる事は多々あります。なので念の為、作業ブランチに最新masterをマージしてからプッシュする安心・安全な方法を用います。
masterブランチへチェックアウトしてプルします
プロジェクト選択 > 右クリック > チーム > マージ
①リモート・トラッキング配下のmaster(親ブランチ)を選択
②と③はデフォルトのままで
④マージ(M)押下
ポップアップが表示されて差分を確認できます。ローカルの作業ブランチとリモートのmaster差分が無く最新の場合もポップアップで知らせてくれます。
コミットをリモートへプッシュしよう!!
現在のGitの状態です。
リモートブランチ
他のメンバーの変更がmasterへマージされてHEADが進んでいます
○---○----> master
\--->feature
ローカルブランチ
ローカルのfeatureブランチに変更をコミットしました
リモートの最新masterをマージしました
○---○----> master
\-○-> feature
前項「ローカルの新規ブランチをリモートへ反映させよう!!」と同じ手順です
プロジェクト選択 > 右クリック > チーム > ブランチのプッシュ(B)
次へ > 完了
問題なければ完了ボタンが押下できリモートへプッシュできます
これでリモートへ自分の変更をコミットした内容が反映されます
次はマージリクエストを作成しよう!!
今回はここで終了。次回は、
マージリクエスト(GitLab)の作成手順
マージされたmasterをプルしてローカルへ最新ソースを反映
競合が発生した場合の修正方法
あたりまで書きたいと思います。