この記事では次のようなケースを想定した手順をまとめました。
リポジトリ | masterブランチ | developブランチ |
---|---|---|
リモートリポジトリ | ○ | ○ |
ローカルリポジトリ | ○ | × |
つまり、リモートリポジトリにはdevelopブランチがあるのに、ローカルリポジトリにはない。
なのでローカルリポジトリへdevelopブランチを取り込みたいけど、どうすれば良いんだろう…
を解決するための手順です。
1.ローカルリポジトリのブランチを確認する。
まずは、ローカルリポジトリにどんなブランチが在るのかを確認するために以下のコマンドを実行します。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git branch
* master
実行結果をみると、現時点ではローカルリポジトリにはmasterブランチしか存在していません。
2.リモートリポジトリのブランチを確認する。
次に、リモートリポジトリにどんなブランチが在るのかを確認するために以下のコマンドを実行します。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git branch -r
origin/HEAD -> origin/master
origin/master
現時点では、リモートリポジトリも、masterブランチしか存在していません。
実際にはリモートリポジトリにdevelopブランチが存在しているのに、一覧には出て来ないのです。
なぜかというと、リモートリポジトリの最新情報(履歴)をローカルリポジトリへ反映していないからです。
この問題はgit fetch
すると解消します。
3.リモートリポジトリの最新情報(履歴)をローカルリポジトリへ反映する。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (develop)
$ git fetch warning: redirecting to http://localhost:8888/user01/prj2.git/ From http://localhost:8888/user01/prj2 * [new branch] develop -> origin/develop
これでdevelopブランチの情報をローカルリポジトリへ反映させることができました。
4.再度、リモートリポジトリのブランチを確認する。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git branch -r
origin/HEAD -> origin/master
origin/develop
origin/master
今度はちゃんと、developブランチが在ることを確認できました。
5.originがどこを指しているのかを確認する。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git remote -v
origin http://localhost:8888/user01/prj2 (fetch)
origin http://localhost:8888/user01/prj2 (push)
6.ローカルリポジトリにdevelopブランチを作成する。
今回は、リモートリポジトリにあるdevelopブランチをローカルリポジトリへ取り込みたいので、
ローカルリポジトリにもdevelopブランチを作成します。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git checkout -b develop
Switched to a new branch 'develop'
7.リモートリポジトリにあるdevelopブランチをローカルリポジトリへ取り込む。
XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (develop)
$ git pull origin develop
warning: redirecting to http://localhost:8888/user01/prj2.git/
From http://localhost:8888/user01/prj2
* branch develop -> FETCH_HEAD
Updating 5ba484a..39c4e0d
Fast-forward
README.md | 1 +
1 file changed, 1 insertion(+)
これでdevelopブランチをローカルリポジトリへ取り込むことが出来ました。
以上。
以上で記事の解説はお終い!
もっとGitを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!