基本

git clone

リモートリポジトリをローカルにコピーします。コミット履歴・ブランチ・タグをすべてダウンロードして、すぐに作業を開始できます。

構文 git clone <repository> [<directory>]

オプション

フラグ 説明
--depth <depth> 指定した数のコミットだけを取得する浅いクローン(shallow clone)を作成します。大きなリポジトリを素早く取得したいときに有効です。
--branch <name>, -b <name> クローン後にチェックアウトするブランチを指定します。省略時はデフォルトブランチ(main など)が使われます。
--bare 作業ツリーを持たないベアリポジトリとしてクローンします。サーバーサイドのミラーリングに使います。
-o <name>, --origin <name> リモートの名前を指定します。デフォルトは origin です。

git clone は、リモートリポジトリをローカルにコピーします。コミット履歴・ブランチ・タグなどすべての情報がダウンロードされ、すぐに作業を開始できます。

基本的な使い方

# HTTPS でクローン
git clone https://github.com/ユーザー名/リポジトリ名.git

# SSH でクローン(公開鍵認証が設定済みの場合)
git clone [email protected]:ユーザー名/リポジトリ名.git

# クローン先のディレクトリ名を指定
git clone https://github.com/ユーザー名/リポジトリ名.git my-project

特定のブランチをクローンする

# develop ブランチをクローン
git clone --branch develop https://github.com/ユーザー名/リポジトリ名.git

クローン後に --branch で指定したブランチが自動的にチェックアウトされます。

浅いクローン(shallow clone)

# 直近100コミットだけを取得
git clone --depth 100 https://github.com/ユーザー名/リポジトリ名.git

# 直近1コミットだけを取得(最も軽量)
git clone --depth 1 https://github.com/ユーザー名/リポジトリ名.git

歴史の長い大きなリポジトリでは --depth 1 にするだけでダウンロードが大幅に速くなります。

リモート名を変更する

# origin の代わりに upstream という名前でクローン
git clone -o upstream https://github.com/ユーザー名/リポジトリ名.git

フォーク元を upstream として管理する場合などに便利です。

クローン後のディレクトリ構成

リポジトリ名/
├── .git/         ← Git の管理情報(履歴・設定など)
├── README.md
└── src/
    └── ...

git clone は自動的に origin というリモート名で元のリポジトリを登録します。

git init との違い

コマンド用途
git clone既存のリモートリポジトリをコピーして始める
git init新しいリポジトリをゼロから作成する

新規プロジェクトを始めるときは git init、既存プロジェクトに参加するときは git clone を使います。