
Eclipse 上で作ったプロジェクトを Github などのリモートリポジトリに置いてみます。リモートリポジトリを新規作成、そこへ Eclipse から Push する方法です。
前提条件
- 利用するリモートリポジトリは GitHub・Bitbucket・GitLab・GitBucket などを想定
- 上記ホスティングサービスのアカウントは作成済みであること
- Eclipse 上にプロジェクトが作成済みであること
プッシュ完了までのフロー
コマンドライン(CLI)でコマンド実行する内容を、Eclipse で行うというのが基本的な考え方です。Eclipse 上からホスティング側のリモートリポジトリへのプッシュ完了までの一連の手順は以下の通りです。
- リモートリポジトリの作成
- ローカルリポジトリの作成
- 索引への追加(Git コマンドでの git add に相当)
- コミット(Git コマンドでの git commit に相当)
- プッシュ(Git コマンドでの git push に相当)
「索引への追加」という手順は省略が可能で、一気にコミットすることもできます(この操作は Git コマンドでは git commit -a にあたります)。
ホスティング側での操作
新規リポジトリの作成
ホスティングサービス(GitHub・Bitbucket など)や自前のホスティングサーバ(GitLab・GitBucket など)に新規リポジトリを作成します。
リポジトリの URI の確認
作成したリポジトリの URI は、この後の手順の Git Push
時に使います。
リポジトリURI の例:
https://ユーザ名@bitbucket.org/アカウント名/update-without-inquiry.git
Eclipse からの操作
Eclipse 上で、作成したプロジェクトを利用します。ホスティングサービス(GitHub など)のリポジトリ名と Eclipse 上のプロジェクト名は同一でなくても問題ありません。
プロジェクトの共用で Git を選択
プロジェクトエクスプローラ上で、プロジェクト名を右クリックし、[チーム] – [プロジェクトの共用] を選択
Git を選択して [次へ] をクリック
ローカルリポジトリの作成
[プロジェクトの親フォルダ内のリポジトリを使用または作成] のチェックボックスにチェック
フォームの中に表示されているパスにローカルリポジトリが作成されるので、パスに間違いがなければ [リポジトリの作成] をクリック
作成したローカルリポジトリにチェックを入れて [完了] をクリック
プロジェクトエクスプローラを見ると、ファイル名に「?(はてなマーク)」と「>(不等号記号)」が付いているのが分かります(「?」はコミットやステージングエリアへの追加などが未実施であることを表し、「>」はディレクトリ上の変更がローカルリポジトリに反映されていないことを表します)
Git add
プロジェクトを右クリックし、[チーム] – [索引に追加] をクリック(この操作は Git コマンドの git add にあたり、対象ファイルをステージングエリアに追加します)
プロジェクトエクスプローラで対象ファイルを見ると、[索引に追加] を実施したことでステージングエリア(索引:インデックス)に追加されたことが、「+(プラス記号)」のアイコンで分かります
Git commit
プロジェクトを右クリックし、[チーム] – [コミット] をクリック(この操作は Git コマンドの git commit にあたり、ローカルリポジトリにステージングエリアにある変更を反映させます)
コミットメッセージに変更内容を簡潔に入力し、[コミット] をクリック
プロジェクトエクスプローラで対象ファイルを見ると、ローカルリポジトリにコミットされたことがタンクのようなアイコンで分かるようになっています
リモートリポジトリへのプッシュ
プロジェクトを右クリックし、[チーム] – [リモート] – [プッシュ] をクリック
URI 欄に新規作成しておいたリモートリポジトリの URI 入力し、[次へ] をクリック
ソース参照から [master] を選択して、[仕様の追加] をクリック
[プッシュの仕様] 欄の内容が、master ブランチへの更新の強制なしでのプッシュであることを確認し、[完了] をクリック
リモートへの接続を行うために、ユーザ名とパスワードを入力し [OK] をクリック
プッシュ結果が表示されるので、master ブランチへ正常にプッシュできたことを確認して[OK] をクリック
プッシュ結果
以上でリモートリポジトリへのプッシュは完了です!
注意点
master ブランチへのプッシュについて
今回は自分が作成した自分で利用する自己完結型のリポジトリへプッシュしました。しかし、チームで管理するリポジトリへは絶対に master ブランチへプッシュしてはいけません(もちろん、これができないようにチームレポジトリの管理者はリポジトリの設定をします)。
チームのリポジトリへは、必ず他のブランチ(feature、develop など)を作成しプッシュします。プッシュしたブランチからプルリクエストを掛け、管理者のコードレビューが通れば、master ブランチにマージする、というのが一般的な開発方法の流れです。