git checkout
ブランチの切り替えや、特定のコミット時点のファイルを復元します。現代的な操作には git switch / git restore の使用が推奨されています。
構文
git checkout <branch> | git checkout -b <new-branch> git checkout は複数の機能を持つコマンドです。主に「ブランチの切り替え」と「ファイルの復元」に使います。Git 2.23 以降では、これらの機能が git switch(ブランチ切り替え)と git restore(ファイル復元)に分割されたため、新しいコマンドの使用が推奨されています。
ブランチの切り替え
# 既存のブランチに切り替え
git checkout main
git checkout feature/login
# 新しいブランチを作成して切り替え
git checkout -b feature/new-feature
# リモートブランチに対応するローカルブランチを作成して切り替え
git checkout -b feature/login origin/feature/login
ファイルの復元
# 作業ツリーのファイルを最後のコミット時点に戻す
git checkout -- index.html
# 特定のコミット時点のファイルを取得
git checkout a1b2c3d -- src/config.js
現代的な代替コマンド
Git 2.23 以降ではより明確な代替コマンドが用意されています。
# ブランチ切り替え(git checkout <branch> の代替)
git switch main
# 新規ブランチ作成と切り替え(git checkout -b の代替)
git switch -c feature/new-feature
# ファイルの復元(git checkout -- <file> の代替)
git restore index.html
注意点
- ブランチを切り替える前に、作業ツリーの変更を
git commitまたはgit stashで保存しておかないと、変更が失われる可能性があります。 git checkout -- <file>はステージング前の変更を取り消せない形で破棄します。慎重に使ってください。