Git Checkout
最終更新
git checkout はリポジトリ内を移動するための昔ながらのコマンドです - ブランチの切り替え、-b によるブランチ作成、特定のコミットのチェックアウト、ファイルの復元などを行います。多くの役割を担うため、新しい Git ではその仕事を git switch(ブランチ)と git restore(ファイル)に分割しました。どちらのスタイルも今も使えます。
これらをターミナルプレイグラウンドで試してみましょう - ブラウザ内で動く本物のシェルで、インストールは不要です。
構文
| Command | What it does |
|---|---|
git checkout main | 既存のブランチに切り替える |
git checkout -b feature | 新しいブランチを作成して切り替える |
git checkout <hash> | 特定のコミットをチェックアウトする(detached HEAD) |
git checkout -- file.txt | ファイルの変更を破棄する(復元する) |
git checkout main -- file.txt | 別のブランチから 1 つのファイルを復元する |
checkout vs switch vs restore
| Task | Old (checkout) | Modern |
|---|---|---|
| ブランチを切り替える | git checkout main | git switch main |
| 作成 + 切り替え | git checkout -b x | git switch -c x |
| ファイルの変更を破棄する | git checkout -- f | git restore f |
Git checkout のよくある質問
git checkout は何をするコマンドですか?
リポジトリ内を移動させます。最もよく使われるのはブランチの切り替え(
git checkout main)ですが、ブランチの作成(-b)、特定のコミットのチェックアウト、ファイルを以前のバージョンに復元することもできます。いくつもの異なる役割を持つため、現代の Git ではそれらを分割する git switch と git restore が導入されました。git checkout と git switch の違いは何ですか?
git switch は、ブランチの切り替え(および -c での作成)だけを行う、より新しく目的を絞ったコマンドで、わかりやすく誤用しにくくなっています。git checkout はそれに加えてファイルの復元やコミットのチェックアウトも行います。ブランチ操作では git switch main と git checkout main は同等なので、チームの好みで使い分けてください。特定のコミットをチェックアウトするには?
git checkout <hash> を実行します。これで「detached HEAD」状態になります - そのコミットを見ていますが、どのブランチにもいません。そこでの作業を残すにはブランチを作成します: git switch -c newbranch。戻るには git switch main で再びブランチをチェックアウトします。checkout でファイルの変更を破棄するには?
git checkout -- file.txt を実行すると、そのファイルのコミットされていない変更が破棄され、最後にコミットされたバージョンに復元されます。現代の Git ではよりわかりやすい同等コマンドが git restore file.txt です。どちらも編集内容を破棄するので、本当に不要か確認してください。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルで
git checkout を実行できます - インストールは不要です。Coddy の無料のインタラクティブな Git コースでも、ブランチの作成と切り替えを一歩ずつ扱います。