Gitクローンとは?|git cloneの基本から実践まで完全ガイド

git

「GitHubで見つけた便利なプロジェクト、どうやって自分のパソコンにダウンロードするの?」

プログラミングを学び始めると、必ずと言っていいほど出会うのがGitです。その中でも最も基本的で重要なのが「git clone」というコマンドなんですね。

この記事では、git cloneの仕組みから実践的な使い方まで、初心者の方でも分かるように丁寧に解説していきます。

スポンサーリンク

git cloneとは何か?

git cloneは、既存のGitリポジトリを自分のパソコンにコピーするためのコマンドです。

もっと分かりやすく言うと、「インターネット上にあるプロジェクトのフォルダを、まるごと自分のパソコンにダウンロードする」機能なんですね。

リポジトリって何?

「リポジトリ」という言葉が出てきましたが、これはプロジェクトのファイルや変更履歴をすべて保存する場所のことです。

GitHubやGitLabなどのサービスでは、このリポジトリがインターネット上(リモート)に保存されています。

git cloneを使うことで、このリモートリポジトリを自分のパソコン(ローカル)にコピーできるわけです。

git cloneで何がコピーされるの?

git cloneを実行すると、次のものがすべてコピーされます。

  • すべてのファイルとフォルダ
  • すべてのブランチ(開発の枝分かれ)
  • すべてのコミット履歴(変更の記録)
  • リポジトリの設定情報

つまり、プロジェクトの最新状態だけでなく、「これまでの全ての歴史」も手に入るんですね。

これがGitの素晴らしいところで、過去のどの時点にでも遡って確認できます。

なぜgit cloneが必要なの?

git cloneは、Git開発の最初のステップとして非常に重要です。

オープンソースプロジェクトへの参加

世界中の開発者が公開しているオープンソースプロジェクトを、git cloneで自分のパソコンにダウンロードできます。

そのコードを読んで学んだり、改良して貢献したりすることが可能になるんですね。

チーム開発の開始

会社やチームで開発するとき、まずはチームのリポジトリをcloneします。

これで全員が同じプロジェクトのコピーを持って、それぞれのパソコンで開発を進められます。

バックアップとしての活用

リポジトリをcloneすることで、プロジェクトの完全なバックアップが作成されます。

サーバーに問題が起きても、ローカルのクローンから復元できるので安心です。

git cloneの基本的な使い方

それでは、実際にgit cloneを使ってみましょう。

事前準備

git cloneを使う前に、Gitがインストールされているか確認してください。

ターミナル(WindowsならGit BashやPowerShell)を開いて、こう入力します。

git --version

バージョン番号が表示されれば、Gitは正しくインストールされています。

表示例はこんな感じです。

git version 2.39.0

もし「コマンドが見つかりません」というエラーが出たら、Gitをインストールする必要があります。

GitHubからクローンする基本手順

実際にGitHubのリポジトリをクローンしてみましょう。

ステップ1:リポジトリのURLを取得する

GitHubのリポジトリページを開くと、緑色の「Code」ボタンがあります。

これをクリックすると、リポジトリのURLが表示されるので、コピーしてください。

ステップ2:クローンを実行する

ターミナルで、クローンを作成したい場所に移動します。

cd ~/Documents/Projects

そして、git cloneコマンドを実行します。

git clone https://github.com/ユーザー名/リポジトリ名.git

実際の例を見てみましょう。

git clone https://github.com/facebook/react.git

実行すると、こんな進捗状況が表示されます。

Cloning into 'react'...
remote: Enumerating objects: 203081, done.
remote: Counting objects: 100% (203081/203081), done.
remote: Compressing objects: 100% (45632/45632), done.
remote: Total 203081 (delta 155234), reused 198765 (delta 151023)
Receiving objects: 100% (203081/203081), 178.5 MiB | 5.2 MiB/s, done.
Resolving deltas: 100% (155234/155234), done.

ステップ3:クローンされたか確認する

クローンが完了すると、リポジトリ名と同じフォルダが作成されます。

ls

このコマンドで、フォルダが作成されているか確認できますね。

フォルダの中に入ってみましょう。

cd react
ls

プロジェクトのファイルが全部入っているはずです。

別の名前でクローンする方法

デフォルトでは、リポジトリ名と同じフォルダが作られます。でも、違う名前にしたい場合もありますよね。

そんなときは、URLの後ろにフォルダ名を指定します。

git clone https://github.com/facebook/react.git my-react-project

これで、reactではなくmy-react-projectという名前のフォルダが作成されます。

HTTPSとSSHの違い

リポジトリをクローンする方法には、主に2つのプロトコル(通信方式)があります。

HTTPS(推奨される方法)

HTTPSは、WebブラウザでWebサイトを見るのと同じ仕組みです。

メリット

  • 設定が簡単
  • ファイアウォールやプロキシの影響を受けにくい
  • GitHubが推奨している

デメリット

  • 操作のたびにユーザー名とパスワード(またはトークン)の入力が必要

ただし、認証情報を保存する設定をすれば、毎回入力する手間は省けます。

# Windows
git config --global credential.helper manager

# Mac
git config --global credential.helper osxkeychain

# Linux
git config --global credential.helper store

SSH(セキュアな方法)

SSHは、暗号化された安全な通信方式です。

メリット

  • 一度設定すれば、認証が自動化される
  • より安全

デメリット

  • 初期設定が少し複雑
  • ファイアウォールやプロキシで使えない場合がある

SSH鍵を設定してあれば、こんなURLでクローンします。

git clone git@github.com:facebook/react.git

よく使うオプション

git cloneには、便利なオプションがたくさん用意されています。

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

通常、git cloneはすべてのブランチをダウンロードします。でも、特定のブランチだけが必要な場合もありますよね。

そんなときは-bオプションを使います。

git clone -b develop https://github.com/user/repo.git

これで、developブランチだけをクローンできます。

さらに、他のブランチの情報を取得しないようにするには、--single-branchを追加します。

git clone -b develop --single-branch https://github.com/user/repo.git

浅いクローン(履歴を限定する)

大きなリポジトリの場合、すべての履歴をダウンロードすると時間がかかります。

最新のコミットだけが必要なら、--depthオプションが便利です。

git clone --depth 1 https://github.com/user/repo.git

これで、最新のコミットだけをダウンロードし、クローンが高速になります。

直近10コミットだけ取得したい場合は、こうします。

git clone --depth 10 https://github.com/user/repo.git

リモート名を変更する

デフォルトでは、クローン元のリポジトリはoriginという名前で登録されます。

これを別の名前にしたい場合は、-oオプションを使います。

git clone -o upstream https://github.com/user/repo.git

確認してみましょう。

git remote -v

出力例です。

upstream  https://github.com/user/repo.git (fetch)
upstream  https://github.com/user/repo.git (push)

通常のoriginではなく、upstreamとして登録されていますね。

チェックアウトせずにクローンする

ファイルの内容は不要で、リポジトリの構造だけが必要な場合は、-nオプションを使います。

git clone -n https://github.com/user/repo.git

これで、作業ディレクトリにファイルを展開せずに、Gitの履歴だけをダウンロードできます。

プライベートリポジトリのクローン

公開されていないプライベートリポジトリをクローンする場合は、認証が必要です。

Personal Access Tokenを使う方法(推奨)

GitHubは2021年8月からパスワード認証を廃止し、Personal Access Token(PAT)を使う方式に移行しました。

PATの作成手順

  1. GitHubにログイン
  2. Settings → Developer settings → Personal access tokens → Tokens (classic)
  3. Generate new token → Generate new token (classic)
  4. 必要な権限(scope)を選択(通常はrepoにチェック)
  5. Generate token

生成されたトークンは一度しか表示されないので、必ずコピーして保存してください。

PATを使ってクローンする

git clone https://github.com/company/private-repo.git

ユーザー名とパスワードを求められたら、以下のように入力します。

Username: あなたのGitHubユーザー名
Password: 生成したトークン(パスワードではない!)

SSH鍵を使う方法

SSH鍵を設定すれば、毎回認証情報を入力する必要がなくなります。

SSH鍵の生成

ssh-keygen -t ed25519 -C "your-email@example.com"

Enterキーを数回押すと、鍵が生成されます。

公開鍵をGitHubに登録

公開鍵をクリップボードにコピーします。

# Mac
cat ~/.ssh/id_ed25519.pub | pbcopy

# Linux
cat ~/.ssh/id_ed25519.pub

GitHubの Settings → SSH and GPG keys → New SSH key で、コピーした公開鍵を貼り付けて保存してください。

SSHでクローンする

git clone git@github.com:company/private-repo.git

初回は接続の確認があるので、yesと入力します。

クローン後の基本操作

リポジトリをクローンした後、どんな操作ができるのか見ていきましょう。

リモートリポジトリの確認

クローン元の情報を確認するには、こうします。

git remote -v

出力例がこちらです。

origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)

originはデフォルトのリモート名で、fetchは取得用、pushは送信用のURLを表しています。

ブランチの確認

どんなブランチがあるか確認しましょう。

git branch -a

出力例です。

* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/develop
  remotes/origin/feature/new-ui

*マークが付いているのが現在のブランチです。

remotes/origin/で始まるのはリモートブランチで、クローン元にあるブランチの情報ですね。

最新の状態に更新する

クローン後、リモートリポジトリで変更があった場合は、最新の状態を取得する必要があります。

git pull

このコマンドで、リモートの最新の変更をローカルに反映できます。

よくあるトラブルと解決方法

git cloneを使っているとよく遭遇する問題と、その対処法を紹介します。

エラー:「Permission denied (publickey)」

SSHでクローンしようとして、このエラーが出ることがあります。

Permission denied (publickey).
fatal: Could not read from remote repository.

これは、SSH鍵が正しく設定されていないことを意味します。

解決方法

SSH鍵が設定されているか確認しましょう。

ssh -T git@github.com

成功すると、こんなメッセージが表示されます。

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

エラーが出る場合は、SSH鍵を作成してGitHubに登録する必要があります。

または、HTTPSでクローンする方法に切り替えてください。

git clone https://github.com/user/repo.git

エラー:「Repository not found」

このエラーは、リポジトリが存在しないか、アクセス権限がないことを示しています。

fatal: repository 'https://github.com/user/repo.git/' not found

解決方法

  • URLが正しいか確認する
  • リポジトリが存在するか確認する
  • プライベートリポジトリの場合、アクセス権限があるか確認する
  • 認証情報(トークンやSSH鍵)が正しく設定されているか確認する

エラー:「SSL certificate problem」

SSL証明書の検証でエラーが出ることがあります。

fatal: unable to access 'https://github.com/user/repo.git/': SSL certificate problem: unable to get local issuer certificate

これは、企業のプロキシや古いGitバージョンで起きやすい問題です。

解決方法

一時的な回避策として、SSL検証を無効にできます(ただし推奨されません)。

git config --global http.sslVerify false

根本的な解決策は、証明書を正しく設定することです。企業環境の場合は、IT部門に相談してください。

クローンが非常に遅い

大きなリポジトリのクローンには時間がかかります。

解決方法1:浅いクローンを使う

git clone --depth 1 https://github.com/user/repo.git

解決方法2:特定のブランチだけをクローンする

git clone -b main --single-branch https://github.com/user/repo.git

解決方法3:並列ダウンロードを有効にする

git clone --jobs 8 https://github.com/user/repo.git

これで、8つの並列ダウンロードが実行され、高速化できます。

git cloneとgit initの違い

混同されやすい2つのコマンドについて説明しておきましょう。

git init(新規作成)

git initは、まっさらな新しいリポジトリを作成します。

mkdir new-project
cd new-project
git init

これで空のGitリポジトリが作られ、ここからプロジェクトを始められます。

git clone(コピー)

git cloneは、既存のリポジトリをコピーします。

git clone https://github.com/user/existing-repo.git

すでに誰かが作ったプロジェクトを、自分のパソコンにダウンロードするわけですね。

実は、git cloneの内部ではgit initが自動的に実行されています。その上で、リモートからデータを取得しているんです。

実践的な活用例

最後に、実際の開発シーンでどう使うか見ていきましょう。

オープンソースプロジェクトへの貢献

有名なライブラリをfork(自分のアカウントにコピー)して、クローンします。

# 1. GitHubでforkする(ブラウザ操作)
# 2. 自分のforkをクローン
git clone https://github.com/あなたのユーザー名/react.git

# 3. オリジナルのリポジトリを追加
cd react
git remote add upstream https://github.com/facebook/react.git

# 4. ブランチを作成して作業
git checkout -b fix-typo

これで、バグ修正や機能追加を始められます。

チーム開発の開始

会社やチームのプロジェクトに参加する場合です。

# 1. チームのリポジトリをクローン
git clone https://github.com/company/project.git

# 2. 開発用ブランチに切り替え
cd project
git checkout develop

# 3. 自分の作業用ブランチを作成
git checkout -b feature/user-profile

これで、チーム開発の準備が整いました。

複数環境での開発

自宅と会社、両方で同じプロジェクトを使う場合です。

# 自宅のパソコンでクローン
git clone https://github.com/yourname/project.git ~/home-workspace/project

# 会社のパソコンでクローン
git clone https://github.com/yourname/project.git ~/work-workspace/project

作業を終えたらgit pushで変更をアップロードし、別の環境でgit pullすれば同期できます。

まとめ:git cloneをマスターしよう

git cloneについて、重要なポイントをまとめておきます。

git cloneの基本

  • 既存のリポジトリを自分のパソコンにコピーする
  • ファイルだけでなく、すべての履歴もダウンロードされる
  • Git開発の最初のステップとして重要

基本的なコマンド

# 基本形
git clone https://github.com/user/repo.git

# 別名でクローン
git clone https://github.com/user/repo.git my-project

# 特定ブランチのみ
git clone -b develop --single-branch https://github.com/user/repo.git

# 浅いクローン(高速)
git clone --depth 1 https://github.com/user/repo.git

認証方法の選択

  • HTTPS:設定が簡単、GitHubが推奨
  • SSH:一度設定すれば認証が自動化

よくあるエラー対策

  • Permission denied → SSH鍵を設定するか、HTTPSに切り替える
  • Repository not found → URLとアクセス権限を確認
  • 遅い → 浅いクローンや単一ブランチを使う

git cloneは、Gitを使った開発の入り口です。これをマスターすれば、世界中のオープンソースプロジェクトを自由に探索したり、チーム開発をスムーズに始められたりします。

最初は難しく感じるかもしれませんが、何度か使っているうちに自然と身についていきますよ。さあ、興味のあるプロジェクトを見つけて、git cloneで自分のパソコンにダウンロードしてみましょう!

コメント

タイトルとURLをコピーしました