頭脳一式

人の記憶なんて曖昧なもの。すべての情報を頭に記憶するなんてナンセンス。困ったらここに来ればいいじゃん?というスタンスで最強のナレッジベースを目指すブログ

【Git】リモートリポジトリに追加された新規ブランチをローカルリポジトリへ取り込むときの手順ver2

この記事ではリモートリポジトリのブランチを基に、直接ローカルリポジトリへ取り込む手順をまとめます。

リポジトリ masterブランチ develop6ブランチ
リモートリポジトリ
ローカルリポジトリ ×

つまり、リモートリポジトリ上に在るdevelop6ブランチをローカルリポジトリへ取り込むための手順になります。

1.リモートリポジトリの最新情報(履歴)をローカルリポジトリへ反映する。

何はともあれgit fetch

XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git fetch
warning: redirecting to http://localhost:8888/user01/prj2.git/
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
From http://localhost:8888/user01/prj2
 * [new branch]      develop6   -> origin/develop6

これで最新化されました。

2.リモートリポジトリのブランチを確認する。

XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (develop6)
$ git branch -r
  fork/fork1
  origin/HEAD -> origin/master
  origin/develop
  origin/develop2
  origin/develop3
  origin/develop4
  origin/develop5
  origin/develop6
  origin/master

先ほどgit fetchしたのでdevelop6ブランチが一覧上で確認できました。

3.リモートリポジトリにあるdevelop6ブランチをローカルリポジトリへ取り込む。

XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git checkout -b develop6 origin/develop6
Switched to a new branch 'develop6'
Branch 'develop6' set up to track remote branch 'develop6' from 'origin'.

これでローカルリポジトリへの取り込みが完了しました。

ちなみにgit fetchせずにcheckoutしようとした場合

以下のエラーが出てcheckoutできませんでした。やはりgit fetchは必要なようです。

XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj2 (master)
$ git checkout -b develop6 origin/develop6
fatal: 'origin/develop6' is not a commit and a branch 'develop6' cannot be created from it

以上。