「EclipseにGithubのデータがダウンロードできない」
「プッシュができたのにプルができない」
EclipseとGitHubの連動に成功した人の多くは、リモートリポジトリからデータを取得できない問題に直面しているのではないでしょうか。
実は、プッシュとプルは別の設定で動いています。そのため、プルの設定を手動で行う必要があります。
そこで本記事ではSpring BootによるWebアプリ開発の経験があるみずがめが、以下の内容を紹介します。
- プルできない最大の原因
- プルするための追加設定4STEP
この記事を最後まで読むことで、プルの設定方法がわかります。
記事後半では、初心者の方でもわかりやすいようスクショ付きで説明しているので、確認しながら進めてみてください。
EclipseでGitHubにプルできないのは設定不足
EclipseからGitHubにプル(リモートの情報を自分のパソコンに反映させる)ができない理由は、データの対象を指定しなかったからです。
実は、プッシュとプルは使用している設定が異なるため、以下の要素を追加で設定する必要があります。
- ブランチ
- フェッチ
この2つを理解すれば、プルの設定もスムーズに進みます。
1.ブランチ
ブランチとは分岐を指す言葉です。機能が豊富なWebアプリではたくさんのブランチが作成されます。
たとえば、注文したデータを保存するWebアプリを開発したとします。GitHubにアップロードする際にブランチ名を「main」にします。
その後、お問い合わせフォームを作りました。
しかし、フォームのシステムは動作の検証が済んでいないため、既存のデータを消して保存したくありません。
そのときに利用するのがブランチの切り替えです。フォームを追加した状態のブランチ名を「develop」に設定してプッシュします。
すると、リモートリポジトリには「main」と「develop」のデータが保存されます。

制作の途中から別々のセーブデータとして保存できる感じですね!
プロジェクトを上書きしないため、ブランチを「main」に切り替えるとフォーム実装前に戻せます。プルではブランチ名を正しく選択する必要があるため、覚えておいてください。
2.フェッチ
フェッチとは、データを自分のパソコンに持ってくることです。
設定されると、そのブランチに含まれる「すべてのファイルデータ」と「過去の全履歴」をパソコンの隠しファイル(.gitフォルダ)に保管します。
マージという命令を出すと「自分が書いたコード」と「持ってきたデータ」を合流させ、Eclipse上のファイルを実際に書き換えます。

このフェッチとマージをセットでプルといいます!
EclipseからGitHubにプルするための設定4STEP
EclipseにGitHubのデータを取り込ませるには、以下の手順を踏みます。
- 動作を確認する
- 操作ウィンドウを表示させる
- ブランチの構成を追加する
- フェッチを設定する
プロジェクトにある度のブランチから持ってくるのか
1.動作を確認する
まず、プルができないのか確認してください。
Eclipseを起動してください。GitHubに連携しておいたプロジェクトの上にマウスカーソルを合わせます。

プロジェクト名の上で右クリックしてください。下の画像のように、メニュー画面が表示されます。今回使用するのは下の項目です。

「チーム(E)」を選択し、表示された「プル(U)」をクリックします。

プルに失敗すると「問題が発生」というポップアップが表示されます。「詳細(D)>>」をクリックして中身を確認してください。

プッシュができているのに、プルができていない場合は以下の文が表示されているはずです。
1 リポジトリのプル中
現在のブランチはプル用に構成されていません
構成にキー remode.origin.url の値がありません
これは「プロジェクトのデータはそこにあるのに、パソコンに持ってくるためのルートが繋がっていない」状態です。確認できたら閉じてください。

2.操作ウィンドウを表示させる
Gitの設定を更新するために、専用のウィンドウを表示させます。
Eclipseの場面上部にある「ウィンドウ(W)」をクリックしてください。

表示された「ビューの表示(W)」にカーソルを合わせると、右に項目が展開されます。下にある「その他(O)…」をクリックしてください。

ポップアップメニューが表示されます。縦に伸びたスクロールバーを操作して「Gitリポジトリー」を見つけたら、1度クリックして選択した状態にします。その状態で「開く(O)」をクリックしてください。

Eclipseの左下あたりに「Gitリポジトリ」というウィンドウが表示されます。

3.ブランチの構成を追加する
リモートリポジトリにあるどのブランチからデータを持ってくるのか指定します。

今回はmainしかないため、mainを設定します!
Gitリポジトリに表示されている「プルができないプロジェクト」をクリックして展開してください。

中にある「ブランチ」を展開します。

「ローカル」というフォルダを展開してください。

中にプッシュされたブランチデータがあるため、右クリックしてください。
みずがめの場合は「master 3b80108 Intial commit:」と表示されています。
ポップアップメニューが表示されます。「ブランチの構成(O)…」をクリックしてください。

「Git プランチ構成」というメニュー画面が表示されます。

「リモート(R):」に「Push remote(P):」に「origin」と入力します。「アップストリーム・ブランチ(B):」に「origin/main」と設定して「保存」ボタンを押しましょう。

4.フェッチを設定する
フェッチを設定してリモートから最新の変更履歴を取得できるようにします。
Gitリポジトリ画面に戻ります。「リモート」を展開してください。

「origin」の中にある「雲のマークから下に伸びる緑色の矢印」アイコンの上で右クリックをします。「フェッチの構成(C)…」を選択しましょう。

「フェッチの構成」が表示されます。「追加」をクリックししてください。

画面が切り替わります。

「フェッチの仕様」にある「ソース参照:」の下矢印を展開して「master[ブランチ]」を選択します。

連動して「宛先参照:」も「refs/remotes/origin/master」に変更されます。もし自動で切り替わらない場合は手動で入力してください。
ソース参照と宛先参照に入力したら「+仕様の追加」をクリックします。

情報が取得されるとメニュー画面の下側にバーが表示されることがあります。

「フェッチの構成」画面に戻ります。
参照先を示すエリアに情報が追加されていること確認してください。

下にある「’origin’構成に仕様を保存」いチェックを入れて「完了(E)」をクリックします。

「参照マッピング」に入植したデータが表示されていることを確認して「保存」を押してください。

プル結果が表示されます。
「master: origin/master[新規ブランチ]」と表示されていれば成功しています。「閉じる(C)」をクリックしてください。プルができるように変わっているはずです。

今回の設定修正でリモートリポジトリがいつでもデータを引き出せるシステムになりました。
これからは作業を始める前にプルで最新情報を取得し、終わったらプッシュで情報をリモートに更新していきましょう。


コメント