クローン(git clone)
git clone
概要(サマリー)
クローン(git clone)とは、GitHubなどのリモートリポジトリを自分のパソコンにまるごとコピーするコマンドのことである。
「クローン」という言葉の通り、遠くにあるリポジトリの完全なコピーをローカルに作る操作だ。コードの全ファイルはもちろん、これまでのすべてのコミット履歴も含めて複製される。他の人のプロジェクトを手元で動かしたいとき、チームに参加して開発を始めるとき、AIが生成したリポジトリをダウンロードするときなど、開発の出発点となる操作として頻繁に使われる。
詳細解説
git clone とは何か
Gitにはローカルリポジトリ(自分のPC上)とリモートリポジトリ(GitHubなどのサーバー上)という2種類の場所がある。git clone は「リモートにあるリポジトリをローカルにコピーしてくる」コマンドだ。
単なるファイルのコピーと違い、Gitの履歴情報(すべてのコミット記録)もセットでコピーされる。クローン後はすぐに git log でコミット履歴を確認したり、ブランチを切って作業を始めたりできる。
基本的な使い方
git clone リポジトリのURL
GitHubのリポジトリページにある「Code」ボタンを押すと、クローン用のURLが表示される。これをコピーして使う。
# HTTPS でクローン(GitHubのユーザー名・パスワード / トークン認証)
git clone https://github.com/ユーザー名/リポジトリ名.git
# SSH でクローン(公開鍵認証を設定済みの場合)
git clone git@github.com:ユーザー名/リポジトリ名.git
# クローンしたあとフォルダに移動して作業を始める
cd リポジトリ名
HTTPS方式とSSH方式の2種類があり、初心者には設定が不要なHTTPS方式が始めやすい。
クローン後のフォルダ構成
git clone を実行すると、現在のディレクトリの中にリポジトリ名のフォルダが作られ、その中にファイルが展開される。
現在のフォルダ/
└── リポジトリ名/ ← クローンされたフォルダ
├── .git/ ← Gitの管理情報(触らない)
├── src/
├── package.json
└── README.md
.git フォルダにはGitの管理情報が入っており、通常は直接編集しない。
フォルダ名を変えてクローンする
# リポジトリを "my-project" という名前でクローンする
git clone https://github.com/ユーザー名/リポジトリ名.git my-project
URLの後ろにフォルダ名を指定すると、クローン先のフォルダ名を変えられる。
クローンと fork の違い
GitHubには「fork(フォーク)」という操作もある。cloneとforkは似ているようで異なる。
| 操作 | 意味 | 用途 |
|---|---|---|
| clone | リモートリポジトリをローカルにコピーする | 手元で作業するため |
| fork | 他人のリモートリポジトリを自分のGitHubアカウントにコピーする | 独立した改変やPR送信のため |
AIコーディングとの関係
AIがコードを生成してくれる場合、「GitHubにリポジトリを作ってそこにコードを置いておきますね」という流れになることがある。その場合のダウンロード手順が git clone だ。また、GitHubで公開されているAI関連のツールやサンプルプロジェクトを試したい場合も、まず git clone で取得するのが標準的な手順だ。
AIへの効果的な指示の例:
- 「このGitHubリポジトリをクローンして動かすまでの手順を教えてください(URL: ...)」
- 「クローンしたあとに npm install でエラーが出ました。このエラーメッセージを見て原因を教えてください」
- 「SSH鍵の設定をしていないのでHTTPS方式でクローンしたいです。手順を教えてください」
よくある勘違い
clone と download の違いは?
GitHubには「Download ZIP」というボタンもある。ZIPダウンロードはファイルだけを取得するが、Gitの履歴情報は含まれない。git clone はGitの履歴ごとコピーするため、クローン後に git log で履歴確認や git pull で最新版への更新ができる。開発に参加するなら git clone を使うのが正しい。
クローンしたら自動的に最新状態になる?
クローンした時点のスナップショットがローカルに作られる。その後リモートで更新があっても、ローカルは自動的には更新されない。最新の状態に更新したい場合は git pull を実行する必要がある。
プライベートリポジトリはクローンできない?
プライベートリポジトリはアクセス権がないとクローンできない。GitHubへのログイン(HTTPS方式)または公開鍵認証(SSH方式)の設定が必要だ。
まとめ
- git cloneとは、リモートリポジトリをローカルに丸ごとコピーするコマンドのことである
- コミット履歴も含めてコピーされるため、クローン後はすぐに開発を始められる
- HTTPS方式とSSH方式があり、初心者にはHTTPS方式が設定なしで使いやすい
- cloneはローカルへのコピー、forkはGitHub上での複製という違いがある
- クローン後の最新状態への更新は
git pullが必要
情報ソース
より詳しくAIに聞いてみよう
- git clone とは何かを、初心者でもわかるように説明してください。
- git clone と GitHub の「Download ZIP」の違いを教えてください。
- SSH でクローンするための公開鍵認証の設定手順を教えてください。
- git clone 後に npm install → npm run dev でローカル起動するまでの一般的な手順を教えてください。
- AIコーディングで「リポジトリをクローンして試したい」とき、どのような手順で進めればよいですか?