【Eclipse×GitHub】図で解説するGitHubバージョン管理方法
①: ~ 概要編 ~
②: ~ Git操作用語編(初級) ~
③: ~ Git操作用語編(中級) ~
④: ~ Eclipse操作編(事前準備) ~
⑤: ~ Eclipse操作編(Git操作実演) ~ ← 今ここ
前回はEclipse上でGit操作するための事前準備を実施してきました。
今回はいよいよEclipse上でのGit操作を実演していきます。
まずはGitHubで新規リポジトリを作成しておきましょう。
中身は空で大丈夫です。
ここでは「clone-test」という名称でリポジトリを作成しました。
クローン (Clone)
まずはクローン(Clone)から実演していきましょう。
EGitパースペクティブを開いていきます。
Eclipseのメニューから「ウィンドウ」→「パースペクティブ」→「パースペクティブを開く」→「その他」をクリックします。
「パースペクティブを開く」画面が立ち上がるので「Git」を選択し「開く」をクリックします。
「Git」パースペクティブが開いたら「Gitリポジトリー」ビューの「Gitリポジトリーのクローン」をクリックします。
「Gitリポジトリーのクローン」画面が立ち上がります。
ここではクローン先のURLが必要になります。
先ほど作成したGitHubリポジトリーの画面に戻って下記手順でURLをコピーします。
・「Code」をクリック → 「SSH」を選択 → 「コピーボタン」をクリック
コピーしたURLを貼り付けます。
URLを貼り付けると、ホストやリポジトリーパスなどの他の項目が自動で埋まります。
「次へ」をクリックします。
初めてGitHubからクローンする場合、下記のダイアログが表示されることがあります。
もし表示されたら「このキーを受け入れて保管し、接続を続行しますか?」にチェックを入れて「OK」ボタンをクリックします。
続けて、下記のダイアログが表示されることがあります。
よくわからない場合は「know_hostsの作成?」にチェックを入れて「OK」ボタンをクリックします。
下記の画面が表示されたら「次へ」をクリックします。
ここではローカルの保存先を指定します。
ディレクトリー欄にデフォルトの保存先が既に入力済みになるので、変更したい場合は変更してください。
「完了」をクリックでクローンが完了します。
クローンが完了すると、「Gitリポジトリー」ビューにリモートとローカルのリポジトリ情報が表示されます。
クローン操作は一旦ここで完了になりますが、ここではさらに「Gitリポジトリー」ビューの各項目を簡単に説明していきます。
ブランチ
ブランチを開くと「ローカル」と「リモート・トラッキング」の2つの項目が表示されます。
「ローカル」はローカルブランチを、「リモート・トラッキング」はリモート追跡ブランチをそれぞれ表しています。
- ローカル:ローカルブランチ
- リモート・トラッキング:リモート追跡ブランチ
リモート
リモートリポジトリの名称とサーバーURLを表しています。
「origin」はリモートリポジトリの名称です。
この項目からプッシュ(Push)したりフェッチ(Fetch)したりします。
詳細な操作方法は後ほど説明していきます。
作業ツリー
いわゆるワークスペースになります。
ただし、ここで作業するよりも後述するPythonプロジェクトを作成し、Pythonパースペクティブで作業したほうが良いです。
ステージ (Stage)
次はステージ(Stage)の実演になりますが、その前にPythonプロジェクトを作成し、Pythonのワークスペースを作成していきましょう!
まずはPythonパースペクティブに切り替えてから、左上の「新規」→「Pydevプロジェクト」をクリックします。
するとPydevプロジェクト画面が立ち上がるので、まずはプロジェクト名を入力します。
ここでは「python-git-test」としました。
次にプロジェクト・コンテンツですが、ローカルリポジトリのディレクトリを指定します。
クローン時に指定したローカルの保存先ですね。
最後に「完了」をクリックします。
すると「Pydevパッケージ・エクスプローラー」ビューに「python-git-test」という名称のプロジェクトが作成されます。
さて、これでPythonプロジェクトの作成が完了しましたので、ステージ(Stage)を実演していきましょう。
まずは現状の確認からです。
リモートリポジトリであるGitHubにはコミット履歴は1つのみになります。
この状態でクローンしたので、ローカルリポジトリもコミット履歴は1つのみになります。
この状態からステージするためのpythonモジュール・ファイルを作成していきます。
左上の「新規」の項目から「Pythonモジュール」をクリックします。
「新規Pythonモジュールの作成」画面が立ち上がるのでモジュール名を決めていきます。
名前の欄にモジュール名を入力し、「完了」をクリックします。
ここではモジュール名を「print_test」としました。
次にテンプレートを聞かれますが、「<Empty>」を選択し、「OK」をクリックします。
Pythonプロジェクト配下に「print_test.py」というファイルが作成されました。
このファイルをダブルクリックすると、別のビューでファイルが開かれるので、ここにPythonプログラムを記述していきます。
記述が終わったらファイルを保存します。
次は先ほど作成したPythonモジュール・ファイルをステージしていきます。
「Git」パースペクティブを開いて「Gitステージング」タブを開きます。
最新の変更がビューに反映されてない可能性もあるので、念のため「リフレッシュ」をクリックし、ビューを表示を最新の状態にしておきましょう。
ここまでの操作をすると「ステージされていない変更」にいくつかファイルが表示されているはずです。
ここに表示されるファイルがローカルリポジトリに対し、新規追加または、変更されたファイル一覧になります。
これらのファイルに対し、ステージしたいファイルを選択して「+」をクリックすると下段の「ステージされた変更」へファイルが移動し、ステージが完了します。
今回の例では「.gitignore」と新規作成したpythonモジュール「print_test.py」をステージしました。
コミット (Commit)
次はコミット(Commit)の実演になります。
コミットするとローカルリポジトリに変更履歴が1つ追加されますので、Eclipse上でどのような変化があるのかを確認していきます。
まずはコミット・メッセージを記載していきましょう。
コミット・メッセージにはどのような変更をしたのかを記載していきます。
今回の例では2つのファイルを追加するので「add gitignore and print_test.py」と記載しました。
記載が終わったら「コミット」をクリックします。
すると、Gitリポジトリーのローカルブランチのみが更新されます。
「Git参照ログ」も確認してみましょう。
新たにコミット履歴が1件追加されているのが確認できると思います。
今回追加したコミットIDは「0f87d44」になります。
プッシュ (Push)
次はプッシュ(Push)していきましょう。
プッシュはローカルリポジトリの変更履歴をリモートリポジトリ(GitHub)に反映する操作になります。
今回の例ではローカルリポジトリにコミットID「0f87d44」の変更をコミットしたので、プッシュ後は同IDの変更がGitHubに反映されるはずですね!
こちらも操作後にEclipseとGitHub上でどのような変化があるのかを確認していきましょう。
プッシュするにはGitリポジトリーの「リモート」を開いて「origin」を右クリックし、開いたメニューで「プッシュ」をクリックします。
するとプッシュ結果ダイアログが開くので「閉じる」をクリックします。
以上でプッシュが完了になります。
簡単ですね!
この操作によってリモートリポジトリであるGitHubの変更履歴が更新されているはずですので早速チェックしてみましょう。
GitHubを開きます。
変更履歴が追加されているのが確認できました。
コミットID「0f87d44」、コミット・メッセージ「add gitignore and print_test.py」も一致してますね!
変更履歴が追加されているので、pythonモジュール「print_test.py」も追加されているはずです。
確認してみましょう!
追加されていましたね。
最後にもう1つだけチェックしましょう。
プッシュはリモート追跡ブランチも更新されるはずでしたね。
「Gitリポジトリー」ビューをリフレッシュして「リモート・トラッキング」をチェックしてみましょう。
リモート追跡ブランチも更新されていることが確認できましたね。
フェッチ (Fetch)
フェッチ(Fetch)はリモートリポジトリの変更履歴をローカルリポジトリ内の「リモート追跡ブランチ」に取り込むときに使います。
ここまで手順通りにきていれば、リモートリポジトリとローカルリポジトリの変更履歴は同じになっているはずなのでこのままだとフェッチする変更履歴がありません。
なのでまずはGitHub上で直接リモートリポジトリに変更を加え、変更履歴を1つ追加します。
コミットID「f2112c8」で追加されましたね。
ではEclipseでフェッチしていきましょう。
まずはフェッチ前の状態確認です。
「リモート追跡ブランチ」、「ローカルブランチ」共にコミットIDは「0f87d44」で、コミット数は2つだけですね。
ではフェッチしてみましょう!
フェッチは「リモート」→「orogin」で右クリックし、表示されたメニューで「フェッチ」をクリックします。
するとフェッチ結果ダイアログが開くので「閉じる」をクリックします。
以上でフェチは完了です。
では早速Eclipse画面の変化を見ていきましょう!
「リフレッシュ」をクリックし、リモート・トラッキングを確認するとコミットID「f2112c8」となっていますね。
ローカルリポジトリのコミットIDは変わっていないため、リモート追跡ブランチのみが更新されることが確認できました。
マージ (Merge)
フェッチによって取り込まれた「リモート追跡ブランチ」の変更履歴を「ローカルブランチ」へ取り込むときはマージ(Merge)を使用します。
フェッチ操作に引き続き、マージ(Merge)操作を実演していきます。
マージはリモート追跡ブランチを右クリックし、表示されたメニューで「マージ」をクリックします。
するとマージ結果ダイアログが開くので「OK」をクリックします。
以上でマージは完了です。
「リフレッシュ」をクリックし、Eclipse画面の変化をチェックしていきます。
ローカルブランチのコミットIDが「f2112c8」へ更新され、コミット履歴が1つ追加され3つとなりました。
また、作業ツリーのローカルファイル「print_test.py」も更新されていることがわかります。
プル (Pull)
最後はプル(Pull)操作になります。
プルはリモートリポジトリの変更履歴をローカルリポジトリ内の「リモート追跡ブランチ」と「ローカルブランチ」の両方に取り込む操作であり、フェッチ+マージの挙動となります。
ここまで手順通りにきていれば、リモートリポジトリとローカルリポジトリの変更履歴がまた同じになっているはずなので、またGitHub上で直接リモートリポジトリに変更を加え、変更履歴を1つ追加します。
コミットID「07b06ff」で追加されました。
ではEclipseでプルしていきましょう!
プルはリポジトリのトップを右クリック、表示されたメニューで「プル」をクリックします。
プル結果ダイアログが開くので「閉じる」をクリックします。
以上でプルは完了です。
「リフレッシュ」をクリックし、Eclipse画面の変化をチェックしていきます。
「リモート追跡ブランチ」と「ローカルブランチ」の両方がコミットID「07b06ff」で更新され、コミット履歴も1つ追加されて4つとなりました。
作業ツリーのローカルファイル「print_test.py」も更新されています。
さいごに
ここまでの操作を覚えれば、EclipseとGitHubを使ったバージョン管理は問題なく行えるはずです。
あとは自分で実際にEclipseとGitHubを使いながら操作に慣れていきましょう!
これらの操作に慣れてくると高品質なソースコードを爆速で書けるようになっているはずです。
他にも僕がオススメする機能を紹介したいのですが、時間の都合上いったんここで区切りをつけたいと思います。
僕が有している知識を一通りアウトプットしてきましたが、間違い等ありましたら遠慮なく指摘してください。
またどこかのタイミングでブログを更新していきたいと思っているので、その時にまたお会いしましょう!
コメント