複数人で開発を進める現場では、作業内容ごとに「ブランチ」を使い分けるのが当たり前になっています。そんなときに頻繁に使うのが「git checkout
」というコマンドです。
このコマンドを使えば、他のブランチに切り替えたり、過去のコミットに一時的に移動したりと、柔軟な操作が可能になります。
この記事では、「git checkout
でブランチを切り替える方法」を中心に、初心者にもわかりやすく使い方を解説していきます。具体的な例も交えて紹介するので、Gitの基本操作を身につけたい方はぜひ参考にしてください。
git checkoutとは?
git checkout
は、Gitの中でも特に使用頻度が高いコマンドのひとつです。
主な用途としては、以下のようなものがあります。
- 既存のブランチへ切り替える
- 特定のコミットに一時的に移動する
- 新しいブランチを作成してそのブランチに移動する
現在では、Gitのバージョン2.23以降では、git switch
とgit restore
という新しいコマンドが推奨されつつありますが、git checkout
は依然として多くの場面で使われています。
既存ブランチへの切り替え方法
既に作成されているブランチに移動するには、次のように入力します。
git checkout ブランチ名
例:
git checkout feature/login
このコマンドで、feature/login
ブランチに切り替えることができます。
注意点
現在のブランチに未コミットの変更があると、切り替え時にエラーが出ることがあります。その場合は、コミットするか、stash
で一時的に退避してから切り替えるようにしましょう。
新しいブランチを作成して切り替える方法
git checkout
では、新しいブランチを作り、そのまま切り替えることもできます。構文は以下の通りです。
git checkout -b 新しいブランチ名
例:
git checkout -b feature/signup
このコマンドで、現在のブランチを元にfeature/signup
という新しいブランチを作成し、自動的にそのブランチへ切り替わります。
過去のコミットに切り替える(一時的)
過去の状態を確認したい場合、特定のコミットIDを指定して切り替えることができます。
git checkout コミットID
例:
git checkout 3f5e2b1
このコマンドで、そのコミット時点の状態にリポジトリが切り替わります。ただし、この状態は「detached HEAD」と呼ばれる一時的な状態であり、このまま作業してもブランチには記録されません。
必要に応じて、新しいブランチを作って作業を続けましょう。
git checkout -b fix/rollback
git switchとの違い
Gitのバージョン2.23以降では、ブランチの切り替えに特化したgit switch
というコマンドが導入されました。git checkout
の一部機能を置き換えるもので、より直感的な操作が可能になります。
例(既存ブランチに切り替え):
git switch ブランチ名
例(新しいブランチを作成して切り替え):
git switch -c 新しいブランチ名
とはいえ、git checkout
も引き続き利用可能なので、古いバージョンのGitや他人のリポジトリを触るときには理解しておくことが大切です。
よくあるエラーと対処法
1. 「Your local changes to the following files would be overwritten」
これは未コミットの変更がある状態でブランチを切り替えようとした場合に出るエラーです。解決策は以下のいずれか:
- コミットしてから切り替える
git stash
で一時退避する
git stash
git checkout ブランチ名
git stash pop
2. 「error: pathspec ‘ブランチ名’ did not match any file(s) known to git」
存在しないブランチ名を指定した場合に表示されるエラーです。スペルミスをチェックするか、git branch
で現在のブランチ一覧を確認してみましょう。
ブランチの一覧を確認するには?
今あるブランチを確認するには、以下のコマンドを使います。
git branch
現在のブランチは、アスタリスク(*
)が付いた形で表示されます。
* main
feature/login
bugfix/header
まとめ
git checkout
は、Gitの操作において必須とも言える重要なコマンドです。
- ブランチを切り替える
- 新しいブランチを作って移動する
- 特定のコミットに一時的に移動する
といった使い方があり、日常的な開発の中で何度も登場します。Git初心者の方は、まずこのコマンドの意味と使い方をしっかり理解することで、作業の幅が大きく広がるはずです。
また、Gitのバージョンによってはgit switch
も活用できますので、場面に応じて使い分けていきましょう。
Gitを自在に操れるようになれば、チーム開発でも一目置かれる存在になれるかもしれませんよ!