ゆるおたノート

Tomorrow is another day.

【Git勉強中】ブランチの移動を使い分けたい

これは覚えることがあまり無いですが、「branchを切り替えて編集」がまだ慣れません…

はじめに

基本の流れ

www.yuru-wota.com

凡例

記号 意味 使い方
$ 「"コマンドライン"で使えるコマンド」のしるし。
通常、Gitを始めとする「シェルスクリプト」系の説明では、コマンドの文頭に$をつけて表現されることが多いようです。当ブログでもそれに倣って記載してます。
実際にコマンドを入力するときは、git~以下をコピペしてください。
# コメント 補足事項など。
(対話モードでは使えません、、、)
<> 編集点(という表現で良いのかな…?) 任意の名前、識別子を入力してください。

ブランチのリストを出力して現在地を確認

ローカルリポジトリのみ

下記3件のコマンドは同じ結果が出力されます。

  • オプションなしの場合(デフォルト)
$ git branch
  • オプション付きの場合
$ git branch --list
  • オプション付きの場合(ショートハンド)
$ git branch -l


現在のブランチは、*アスタリスク)でハイライトされます。
bash等、使うエディタによってはブランチ名に色も付きます。)

なお、これ以降、--list-lのようにオプション付きのものを2行続けて書いている場合は、「同じ意味のコマンド」を指しているものとします。

【例】
# 入力
$ git branch

# 結果
  branch1
* branch2
  master

リモートリポジトリも含めて表示

$ git branch -a
$ git branch --all
【例】
# 入力
$ git branch -a

# 結果
  branch1
* branch2
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

ブランチの切り替え

checkoutコマンドを使用します。
いったん現在のブランチから退出(チェックアウト)して、目的のブランチに移動するイメージですかね。

既存のブランチに切り替え

# 入力
$ git checkout <目的のブランチ名>

# 結果
Switched to branch '<目的のブランチ名>'

ブランチを新規作成して切り替え

ブランチを作成することを「ブランチを切る」と呼ぶみたいです。かっこいい。

$ git checkout -b <目的のブランチ名>
【例】
# 新規作成して切り替え
$ git checkout -b branch3

# 結果
Switched to a new branch 'branch3'

# 切り替えできたか確認
$ git branch

# 結果
  branch1
  branch2
* branch3 # 現在のブランチに`*`がつく
  master

現在の変更内容を破棄して強制的に切り替え

Gitが認識しないファイルで作業してしまった場合や、作業ツリーに変更があった場合など。

# 入力
$ git checkout -f <目的のブランチ名>

# 結果
Switched to branch '<目的のブランチ名>'

参照

www.sejuku.net qiita.com