git checkout コマンド
従来 git checkout
コマンドが担っていた機能が多くて分かりにくかったため、機能が分割されて新しく git switch
コマンドと git restore
コマンドが作成された。
git switch
:作業ブランチを切り替える。git restore
:指定したソースからファイルを復元させる。
参考:
git-checkout | Git Documentation [Official]
git-switch | Git Documentation [Official]
git-restore | Git Documentation [Official]
特定のファイル/ディレクトリのみチェックアウトする
コミットやブランチを指定した後に続いてパスを指定する。
$ git checkout @ path/to/file_or_directory
カレントディレクトリ以下のすべてのファイルをチェックアウトする。
$ git checkout @ -- .
スタッシュから特定のファイルまたはディレクトリを取り出す。
$ git checkout stash path/to/file_or_directory
参考:
git checkout で特定のファイルをチェックアウトする – Qiita
Git の checkout でローカルのファイルを戻す | console.lealog();
git checkout all the files – Stack Overflow
異なるブランチ名で checkout する
リモートブランチの情報をフェッチする。
$ git fetch origin --prune
リモートブランチを確認する。
$ git branch -r
リモートブランチをフェッチする。
$ git fetch origin master
異なるブランチ名で チェックアウトする。
$ git checkout -b my_branch FETCH_HEAD
トラッキングブランチを設定する。
$ git branch -u origin/master
トラッキングブランチを確認する。
$ git status -sb ## my_branch..origin/master
git branch
コマンドでリモートブランチからローカルブランチを作成する場合は、次のコマンドを使う。
$ git branch my_branch origin/master
または、ブランチ作成後にそのブランチに切り替える場合は git checkout
を使う。
$ git checkout -b my_branch origin/master
または、git switch
コマンドに -c
オプションと -t
オプションを指定して実行する。
$ git switch -c develop origin/develop
参考:
Git のトラッキングブランチの確認と設定方法 | yu8mada
-c – git-switch | Git Documentation [Official]
-t – git-switch | Git Documentation [Official]
Pull remote branch into local repo with different name? – Stack Overflow
How do I check out a remote Git branch? – Stack Overflow
ワーキングツリーを維持したままブランチを切り替えたい
参考:
Switch Git branch without files checkout – Stack Overflow
Checkout another branch when there are uncommitted changes on the current branch – Stack Overflow
Switching branches without touching the working tree? – Stack Overflow
How to switch branches without touching working directory? – Stack Overflow