git ブランチ名の取得、切替え

ブランチを切り替えたいけど、現在のブランチを確認・一覧取得もする必要がある

作成日:2022-11-30, 更新日:2023-03-16

基本

ブランチ(リモートブランチ)一覧
$ git branch -a
現在のブランチ
$ git branch --contains
ブランチの切替え
$ git checkout ブランチ

流れ

▼現在のブランチを確認 → ブランチ一覧を確認 → チェックアウト(※masterをdevelopに変更) → 現在のブランチが切り替わったか確認

$ git branch --contains
* master

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

$ git checkout develop
Branch develop set up to track remote branch develop from origin.
Switched to a new branch 'develop'

$ git branch --contains
* develop

最新のブランチ一覧取得

$ git fetch origin

フィーチャーブランチを落としてきてブランチを作成・切替え

「ローカル環境で作成後、別のサーバで確認したい」っていう前提

  1. 現状の全ブランチ確認($ git branch -a)
  2. 最新の取得(不要かも?)($ git fetch origin)
  3. 再度、確認($ git branch -a)
  4. フィーチャーブランチを切替え(※初回は作成する必要アリ)($ git checkout -b remotes/origin/feature/test)
  5. 現在のブランチの確認($ git branch --contains)
  6. pullする前の準備($ git branch --set-upstream-to=origin/ remotes/origin/feature/test)
  7. pull($ git pull)

「$ git checkout -b」の「-b」が作成+切替え

$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

$ git fetch origin
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 14 (delta 8), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (14/14), done.
From https://bitbucket.org/xxxx/xxxx
 * [new branch]      feature/test -> origin/feature/test

$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/feature/test
  remotes/origin/master

$ git checkout -b remotes/origin/feature/test
M       vendor/bin/carbon
M       vendor/bin/patch-type-declarations
M       vendor/bin/php-parse
M       vendor/bin/phpunit
M       vendor/bin/pint
M       vendor/bin/psysh
M       vendor/bin/sail
M       vendor/bin/var-dump-server
M       vendor/composer/LICENSE
Switched to a new branch 'remotes/origin/feature/test'

$ git branch --contains
* remotes/origin/feature/test

$ git branch --contains
* remotes/origin/feature/test

$ git pull
Already up-to-date.

※2回目以降は「$ git checkout -b」の「-b」が不要