logologo
git cloneの使い方徹底解説!初心者でもわかる活用法と基本操作
cover

git cloneの使い方徹底解説!初心者でもわかる活用法と基本操作

アンドエンジニア編集部
2024.10.23
この記事でわかること
git cloneはリモートリポジトリの複製コマンドで、プロジェクトの開始やバックアップ時に利用
Gitはバージョン管理の仕組みで、GitHubはリモートリポジトリを管理するプラットフォーム
git cloneは新規プロジェクトの立ち上げ、リポジトリ共有、バックアップ作成などで利用される

git cloneとは

img_gitclone_01

システム開発に関わるようになると、Gitを使う機会が増えてきます。しかし、Gitがよく分からない、どこから始めればよいのか、戸惑う方が少なくありません。Gitとは何か、GitHubとは何か、基本的な理解が必要ですが、先ずはGitの基本操作と言える「git clone」を使ってみましょう。

Gitを使うには、リモートリポジトリをパソコンなどのローカル環境にコピーして利用するのが基本です。

この記事では、git cloneの仕組みや、効率的な使い方、知っておくと便利なオプションについて、図を交えて、わかりやすく解説していきます。Gitを使ってみようという方は、ぜひ参考にしてみてください。

【参考】:Git  | Git

git cloneの活用シーン

git cloneはどのようなシーンで活用するのでしょうか?主に次のようなシーンで利用し、大変重要な機能です。Gitを利用した開発やプロジェクトでは、git cloneは必須の機能ですので、ぜひ習得することをおすすめします。

◼︎新しいプロジェクトの開始 GitHub上の公開リポジトリをクローンして、自分のローカル環境でプロジェクトを開始できます。オープンソースプロジェクトなど、他の人が管理するコードベースを利用する場合に便利です。

◼︎チーム開発への参加 チームのリモートリポジトリをクローンして、自分の環境で作業を開始します。クローンしたリポジトリを使ってコードを修正し、後でチームに貢献できます。

◼︎バックアップ リモートリポジトリをクローンして、プロジェクトのバックアップをローカルに保持することができます。サーバー障害などのリスクに備えるための対策として有効です。

GitとGitHubの基本

img_gitclone_02

Gitを使う前に、ぜひ知っておきたいGitの基本について見ておきましょう。ここでは、GitやGitHubの概要や特徴、リポジトリについて解説します。

Gitとは

Gitは、バージョン管理システムの一種です。プログラムのソースコードなどのファイルを、変更履歴とともに管理することで、過去のバージョンに戻したり、複数の開発者が同時に作業したりすることができるようになります。

Gitは、無料のオープンソースですが、分散型のシステムで、ローカルリポジトリを利用して作業が行え、ファイルの差分のみを記録するため処理が高速で、並行して異なる作業ができるといった特徴を持っています。

Gitとは?GitHubとの違いやメリットをわかりやすく解説!

GitHubとは

GitHubは、Gitを利用したオンラインの開発プラットフォームで、Gitで管理しているプロジェクトを、Web上で公開・共有することができます。

GitHubには、「リモートリポジトリ」をインターネット上に保存できる機能や、コードの変更を他のメンバーに提案する「プルリクエスト」、タスクやバグを管理する「イシュー」、複数の開発者で共同作業ができる「コラボレーション」といった機能があります。

【参考】:GitHub Japan | GitHub | Git

GitHubとは?メリットや使い方、Gitとの違いも解説
GitHubの使い方は?知っておきたい用語も併せて初心者向けに解説

リポジトリとは

リポジトリとは、プロジェクトのコードやファイルを保存・管理する場所のことです。リポジトリには、開発者のパソコン上にあるローカルリポジトリと、 GitHubなどのサーバー上にホストされるリモートリポジトリがあります。以下の図は両者の関係を表す概念図です。

img_gitclone_03
【図】:GitHub リモートリポジトリとローカルリポジトリ
GitHub リポジトリとは?GitHub Desktopによる作成方法などを解説!

GitとGitHubの比較

GitとGitHubの違いは理解できたでしょうか?Git と GitHub は、どちらもソフトウェア開発において重要なツールですが、役割が異なります。それぞれの違いについて、特徴、機能、利用方法を比較表にまとめましたので、ぜひ参考にしてみてください。

img_gitclone_04
【図】:GitとGitHub 比較 
GitHubとGitLabの違いや特徴をわかりやすく解説!プラン、料金はいくら?

git cloneのコマンド

img_gitclone_05

git cloneはコマンド操作により、リポジトリのクローンを行うことができます。ここでは、git cloneコマンドを使うために知っておくべきこと、準備について解説していきます。

git cloneコマンドとは

git cloneとは、リモートリポジトリ(GitHubなど)に存在する、プロジェクトのコードを、自分のローカル環境に丸ごとコピーしてくるコマンドです。まるで、プロジェクトの「クローン」を作るようなイメージです。

このgit cloneを使うことで、プロジェクトの開始がスムーズになり、チームメンバーとの共同開発やリモートバックアップなどが行えるようになります。

Git Bashとは

Git Bashは、Windows環境でGitを使うためのツールです。Bashとは、LinuxやmacOSでよく使われるコマンドラインインターフェースのことで、Git Bashを使うと、Windows上でLinuxのようなコマンドを使ってGitを操作できるようになります。

Git Bashとは?WindowsのLinuxツールを解説!

Gitのインストール

Windows環境※でGit Bashを使うには、下記のサイトにアクセスし、Gitをインストールする必要があります。サイトにアクセスし、[ダウンロード]ボタンをクリックするだけで、自動的に最新バージョン2.46.2のGitがダウンロードされます。(※2024年10月執筆時点)

ローカルのダウンロードフォルダから、「Git-2.46.2-64-bit 」ファイルをダブルクリックし、画面の指示に従ってインストールします。※MacはデフォルトでGitがインストールされています。

【参考】:Git for Windows| Git

img_gitclone_05
【図】:Gitのダウンロードサイト

Gitのインストールが終わったら、Git Bashを起動します。検索窓にBashと入力すると検索結果の先頭に「Git Bashアプリ」が表示されますので、これをクリックします。次のようなターミナル画面が表示されたら、インストールは完了しています。ここから先は、Git Bashのターミナル上でGit コマンドを利用できます。

img_gitclone_07
【図】:Git Bashのターミナル画面 

cloneの意味

さて、git cloneのクローンとはどのような意味なのでしょうか?クローンは「複製」を意味し、Gitではリモートリポジトリの内容をローカルにコピー(クローン)する作業のことを指します。この作業によって、リモートリポジトリと同じデータがローカル環境に作成され、独立したローカルリポジトリが完成します。

git cloneの役割

git cloneコマンドを用いることで、リモートリポジトリの全てのファイルやディレクトリ、履歴をローカル環境にコピーできます。クローンされたリポジトリは、新たに独立したローカルリポジトリとして機能し、開発者はそこから作業を進められます。

git cloneのメリット

ここでは、git cloneを利用することで、プロジェクトの複製やバージョン管理、共同開発やバックアップ、オフラインでの作業が可能になるなど、様々なメリットが期待できます。以下にそれぞれのメリットの中身を解説しましたので、ぜひ確認しておきましょう。

■ プロジェクトの複製 リモートリポジトリにあるプロジェクトの完全なコピーをローカルに作成できます。これにより、オリジナルのプロジェクトに影響を与えることなく、自由に変更や実験を行うことができます。

■ バージョン管理 クローンしたリポジトリには、元のプロジェクトの全ての変更履歴が保存されます。そのため、過去のバージョンに戻したり、変更点を比較したりすることが可能です。

■ 共同開発 チームで開発を行う場合、各メンバーがリポジトリをクローンすることで、同じプロジェクトを共有し、共同で開発を進めることができます。

■ オフラインでの作業 ローカルにリポジトリを持つことで、インターネットに接続していなくても作業を続けることができます。

■ バックアップ リモートリポジトリのバックアップとして、ローカルにコピーを保持することで、万が一のリモートリポジトリのデータ消失に備えることができます。

git cloneの基本

img_gitclone_08

「git clone」とは、既に作成されたリポジトリをローカル環境にコピーするためのコマンドだと分かりました。クローンはリモートからローカルでも、ローカルからローカル、どちらもできます。

またGitはソースコード以外にも、画像やテキストファイル、ER図、UML図などの画像を生成するファイル、その他開発に使用するファイルなども格納できます。では、「git clone」の基本的な使い方について解説していきます。必ず、Bashターミナルを利用して操作をしてください。

データベース設計には必須!ER図の書き方を解説!Excelでも書ける?

git cloneの基本形

git cloneは、リモートリポジトリや他のリポジトリの内容を複製するコマンドです。ここでは「git clone」の基本コマンドを中心に、関連するGitコマンドも載せていますので、この機会にGitコマンドをぜひ試してみましょう。

$ git clone [リポジトリパス]


下記はgit cloneコマンドの例です。これにより指定したリモートリポジトリからローカルリポジトリに複製ができます。

$ git clone https://github.com/username/original_repo.git


■ リモートリポジトリのURL リモートリポジトリのURLは、リポジトリのメインページで確認、コピーできます。例えば、「GitHub.com」にあるPythonのリポジトリをクローンしたい場合、該当リポジトリのページで右上の「<>Code」をクリックします。  

その下にリモートリポジトリのURL(図の破線箇所)が表示されますので、URLの右側にあるコピーボタンをクリックしてURLを利用します。プロトコルはGitが推奨しているHTTPSとします。

img_gitclone_09
【図】:GitHub上のPythonライプラリから、目的のリモートリポジトリのURLをコピー

■ リポジトリのクローン リモートリポジトリのURLをコピーしたら、Bashターミナルを起動し、最初にクローンするディレクトリに移動します。ここでは作成済みのpythonディレクトリにクローンしてみます。

ディレクトリ指定をしなくとも、自動的にディレクトリが作成されますが、意図したディレクトリ名にしたい場合には、最後にディレクトリ名を指定します。

$ cd ~/python


次にgit cloneコマンドを入力し、続いてコピーしたURLをペーストして実行します。

$ git clone https://github.com/TheAlgorithms/Python.git〈クローン先のディレクトリ名〉


クローンが終了したら、lsコマンドを実行します。lsコマンドは、ディレクトリ内のファイルやディレクトリの一覧を表示する便利なコマンドですが、-hオプションを組み合わせることで、ファイルサイズを人間が読みやすい単位(KB、MB、GBなど)で表示することができます。

$ ls -lh


次の画像は、lsコマンドを実行した結果のBashターミナルの画面です。クローンにより作成されたローカルリポジトリの詳細がよく分かります。

img_gitclone_10
【図】:クローンにより作成されたローカルリポジトリの詳細情報をlsコマンドで表示

次に、クローンして作成されたローカルリポジトリがリモートリポジトリと紐づいていることを確認しておきましょう。

「git remote -v」コマンドで紐付け状況が判断できます。

$ git remote -v


「git remote -v」をBashターミナルで実行した結果、次のように表示されれば紐付けができていると判断できます。

$ git remote -v origin  https://github.com/TheAlgorithms/Python.git (fetch) origin  https://github.com/TheAlgorithms/Python.git (push)


【参考】:リポジトリをクローンする | GitHub Docs

git cloneの主なオプション

git cloneコマンドには、いくつかオプションがあり、これを利用することで、必要な部分だけをクローンすることができ、ディスク容量の削減やクローン時間の短縮を図れます。ここではよく使われるgit cloneの主なオプションを紹介します。

◼︎–depth リポジトリの特定のコミットまでの履歴のみをクローンするオプションです。「--depth 1」は最新のコミットのみをクローンします。

$ git clone --depth 1 <リポジトリのURL>


◼︎–branch 特定のブランチのみをクローンしたい場合に使うオプションです。ブランチ名の指定が必要です。ブランチ指定オプションはBオプションとも呼び、「-b」と省略できます。

$ git clone --branch <ブランチ名> <リポジトリのURL>


◼︎–single-branch 指定したブランチとその親コミットのみをクローンするオプションです。プロジェクト全体をクローンする必要がないときに使用します。

$ git clone --single-branch --branch <ブランチ名> <リポジトリのURL>


git cloneを活用してGitを使いこなそう

img_gitclone_11

git cloneは、開発フローにおいて重要なコマンドだということが理解できたかと思います。git cloneは、リモートリポジトリの内容をローカルに取得し、プロジェクト作業の基盤を整える役割を果たし、チーム開発、個人プロジェクト、オープンソース参加の際に頻繁に使用されます。

git cloneの他にも、git initやgit pull、git pushといったGitコマンドを理解することで、より効率的にGitを使いこなすことができます。git cloneを手始めとして、git cloneからの流れを学び、Gitのワークフローをより深く理解していきましょう。

\転職するか迷っていてもOK!/
マイナビエージェントに無料登録して
転職サポートを受ける

その他のGitHub関連記事

その他、GitHubに関連する内容は、下記の記事でもご紹介しています。ぜひ参考にご覧ください。

GitHub Skillsとは?使い方をオンラインで学べる新サービスを紹介!
GitHub Codespacesで手軽に始めるソフトウェア開発。料金や使い方も解説
NotionとGitHubとの連携機能とは?そのメリットや方法を解説!
AIペアプログラマー「GitHub Copilot」の使い方や導入メリットを徹底解説!
GitHubでブランチ作成を行う方法とは?コマンド入力方法を解説
GitHub Desktopの使い方とは?初心者にも分かりやすく手順を解説!
「GitHub Copilot X」が発表!開発者を支える新技術
GitHubのファイルダウンロード方法は?用語と手順を解説
GitHub Projectsの使い方とは?特徴や用語、操作を解説
GitHub Actionsとは?使い方やメリットを解説
GitHubでリポジトリのPushができない原因と対処法を解説
気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

編集部オススメコンテンツ

thumb_gptowten_01
ChatGPTの面白い使い方15選!ビジネスや遊び相手になる事例
アンドエンジニア編集部
2024.02.19

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供

カテゴリー

編集部おすすめコンテンツ

アンドエンジニアへの取材依頼、情報提供などはこちらから

logologo
Powered by マイナビ AGENT