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 で単一ファイルへのローカル変更を元に戻す