📥

【Git入門】git cloneの使い方(既存リポジトリをコピーする)

2024/04/21に公開

0.はじめに

Git入門者向けに、git cloneコマンドを使って「既存リポジトリをコピーする方法」を解説します。

本記事の内容に沿って、ハンズオンいただくと以下を習得できます。

  • git cloneとは何かを理解できる
  • リモートリポジトリからcloneしてローカルリポジトリを作成する方法
  • 正しくリポジトリをコピーできているか確認する方法

では、次の章から具体的な解説を進めます!!

1.git cloneとは?

git cloneとは、以下図のように「既存のリモートリポジトリをローカル環境に複製するコマンド」です。

git cloneを利用することで、自分の手元のマシン上にリポジトリを配置して、開発作業を行うことができるようになります。

次章でgit cloneの具体的な使い方を解説します。

2.リモートリポジトリからcloneしてローカルリポジトリを作成する

実際にリモートリポジトリから、cloneしてローカルリポジトリを作成してみましょう。

まずは、GitHub.comで、リポジトリのメインページへ移動しましょう。今回は例として、numpyのリポジトリで試していきます。

次に、右上にある「<>Code」をクリックしましょう。

リポジトリのURLをコピーします。以下いずれかのプロトコルを選択してクローンできます。どれでもいいですが、今回はGitでも推奨されているHTTPSで実施してみます。

URLをコピーしたら、ターミナルを開いてクローンしたいディレクトリに移動しましょう。今回は、Desktopにクローンすることとします。

$ cd ~/Desktop

最後に、git cloneと入力し、既にコピーしたURLを貼り付けて実行してみましょう。

$ git clone https://github.com/numpy/numpy.git

しばらくすると、クローンが終わるかと思います。

次章から、正しくクローンがされているか確認していきます。

3.ローカルリポの中身を見てみる(.gitフォルダの確認)

前章で、クローンしたnumpyのローカルリポジトリの中身を見ていきます。

まず、lsコマンドを実行してみましょう。すると、「numpy」というディレクトリがDesktop上に作成されていることがわかります。

$ ls
numpy
$

cdコマンドで「numpy」ディレクトリへ移動し、ls -aコマンドを実行してみましょう。-aは隠れファイルも表示させるオプションです。

$ cd numpy
$ ls -a

「README.md」を始め、いろいろなファイルやディレクトリが作成されていることがわかると思います。

.                       .clang-format           .devcontainer           .github                 .spin                   LICENSES_bundled.txt    azure-steps-windows.yml doc                     meson_options.txt       pytest.ini
..                      .codecov.yml            .editorconfig           .gitignore              CITATION.bib            README.md               benchmarks              environment.yml         numpy                   requirements
.circleci               .coveragerc             .git                    .gitmodules             INSTALL.rst             THANKS.txt              branding                meson.build             pavement.py             tools
.cirrus.star            .ctags.d                .gitattributes          .mailmap                LICENSE.txt             azure-pipelines.yml     building_with_meson.md  meson_cpu               pyproject.toml          vendored-meson

その中の1つに、「.git」というディレクトリがあります。このフォルダにはGitが動作するために必要な情報がすべて入っています。

今回は、「.git」の中身を見ることまではしません。「.git」を操作する機会は、実際の業務でも少ないからです。

とりあえず、この「.git」があれば、このフォルダはGitのリポジトリとしてちゃんと機能するんだなと覚えておけばOKです。

次章で、今回作ったローカルリポジトリがちゃんとnumpyのリモートリポジトリと紐づいていることを確認します。

4.ローカルリポに紐づいているリモートリポのURLを確認する

最後に、今回作ったローカルリポジトリがちゃんとnumpyのリモートリポジトリと紐づいていることを確認します。

git remote -vというコマンドで確認することができるので、「~/Desktop/numpy」上で実行してみましょう。

$ git remote -v

すると、以下のように表示されると思います。

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

この情報は、実際の開発中にリモートリポジトリから情報を取ってきたり(fetch)、逆にローカルリポジトリで開発した内容をリモートリポジトリへ送る(push)際に、指定する情報となります。

この情報が、リモートリポジトリからcloneしてローカルリポジトリを作成した際にコピーした、URLになっていればOKです。

5.おわりに

今回はgit cloneの理解を深めるために、以下を学びました。

  • git cloneとは何か(既存リポジトリをコピーするgitのコマンド)
  • リモートリポジトリからcloneしてローカルリポジトリを作成する方法(git clone <remote_repo_url>
  • 正しくリポジトリをコピーできているか確認する方法(git remote -v

一回で覚えるのは難しいと思うので、何度かトライして覚えるで全然大丈夫です。

今後もGitの基本的なワークフローについて解説していきます。

おわりっ!!

参考サイト(GitHubDocs)

Discussion