Git チェックアウトと Git クローンの違い
この記事では、Git の git checkout コマンドと git clone コマンドの違いについて説明します。 SVN 環境から来ている場合、SVN の git clone に相当するものは svn checkout であるため、混乱する可能性があります。
この記事の終わりまでに、git checkout および git clone コマンドを使用して Git リポジトリをナビゲートするために必要なすべてが揃っていることになります。
まず、各コマンドを定義し、ワークフローについて説明します。 すぐに飛び込みましょう。
git clone コマンド
git clone コマンドの機能は 1つだけです。 呼び出されると、ローカル マシンにリモート リポジトリのコピーが作成されます。
リモート リポジトリの URL をパラメーターとして受け入れます。 コマンドの一般的な構文は次のとおりです。
$ git clone <URL>
例を見てみましょう。
GitHub でホストされているリモート Sample-Repo リポジトリがあると仮定すると、どうすればローカル マシンで同じリポジトリのコピーを作成できますか?
このようなシナリオでは、git clone コマンドを使用します。 前述したように、コマンドにはリモート リポジトリの URL が必要です。
URL の取得方法がわからない場合は、次の手順に従ってください。
- GitHub Web アカウントを開き、複製するリポジトリに移動します。
Codeボタンをタップし、認証プロトコルに応じて URL をコピーします。 この場合、HTTPSプロキシを使用します。

リポジトリをクローンするには、ターミナルを開き、クローン先のディレクトリに移動して、以下に示すようにコマンドを実行します。
$ git clone https://github.com/Wachira11ke/Sample-Repo.git
これにより、マシン上にリモート リポジトリのローカル コピーが作成されます。 ほとんどの場合、プロジェクトで 1 回 git clone コマンドを使用します。
git checkout コマンドに移りましょう。
git checkout コマンド
git clone コマンドとは対照的に、git checkout コマンドには複数の用途があり、プロジェクトで作業するときにおそらく毎日使用するでしょう。
git checkout コマンドの 3つの一般的な用途を次に示します。
- ブランチを切り替える
- 変更をキャンセルする
- 新しいブランチを作成する
git checkout でブランチを作成する
通常、git branch コマンドを使用して新しいブランチを作成します。 ただし、git checkout コマンドを使用してブランチを作成することもできます。
git branch コマンドは新しいブランチを作成するだけですが、git checkout コマンドは新しいブランチを作成し、新しく作成したブランチに切り替えます。
例を見てみましょう。
git checkout コマンドを使用して、新しく複製した Sample-Repo に feature ブランチを作成するにはどうすればよいでしょうか。
以下に示すように、コマンドを実行します。
$ git checkout -b feature

git checkout でブランチを切り替える
Git でブランチを切り替えたい場合は、git checkout コマンドが便利です。 master ブランチに戻りたいと仮定すると、どうすればよいでしょうか?
以下に示すように、git checkout コマンドを実行します。
$ git checkout master
git checkout で変更をキャンセルする
git checkout コマンドを使用して、まだコミットされていないファイルへの変更をキャンセルすることもできます。 例を見てみましょう。
Sample-Repo の run.py ファイルを変更します。 git status コマンドを実行すると、次のようになります。

Git が git checkout コマンドを使用して run.py ファイルに加えられた変更を破棄することを提案していることがわかります。
$ git checkout run.py
これにより、ファイルに加えられた変更が破棄され、最後にコミットされた状態に戻ります。
結論として、git checkout と git clone コマンドは異なります。 git clone コマンドはローカル マシンにリモート リポジトリのコピーを作成しますが、これはおそらく 1 回だけ使用します。
一方、git checkout コマンドにはいくつかの用途があり、日常的に使用します。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn関連記事 - Git Checkout
- Git Checkout --Track Origin/Branch と Git Checkout -B Branch Origin/Branch の違い
- Git でのローカル ファイルの変更を無視する
- Git のチェックアウトタグ
- Git スイッチとチェックアウトの違い
- Git で単一ファイルへのローカル変更を元に戻す
