Python環境構築コース7/7
git cloneでコピーしたPythonのプログラムを実行してみよう
こちらでは、 git clone
コマンドについて紹介します。Gitの操作を学んだ後はシナリオを起動し、実際にPythonのプログラムをcloneするハンズオンを行いましょう。
git cloneとは?
git clone
は、指定したディレクトリに既存のリポジトリを複製できるコマンドです。
主に、1つのシステムを複数人で、同時に開発する場合に利用します。 各々の環境に複製してから編集することで、以下のメリットがあります。
- 何かしらのトラブルが発生した場合に、容易に過去の状態に戻せる
- 同時にファイルを編集してしまった場合には警告が出るため、他人の編集内容に意図せず上書きしてしまうことを防げる
GitHub関連記事
https://envader.plus/article/68
git cloneの基本的な使い方
リポジトリをそのまま複製
git clone
の後にリポジトリのURLを指定して実行します。
git clone リポジトリURL
privateリポジトリの場合、clone時に認証が求められます。
クローンされると、カレントディレクトリにリポジトリの名前でディレクトリが作成されます。 作成されたディレクトリ内に、リポジトリの内容が入ります。
(例) リポジトリ「envader-scenario-1077」をクローンした場合
(カレントディレクトリ)
├── envader-scenario-1077
├── (リポジトリの内容)
└── (リポジトリの内容)
└──…
cloneしたリポジトリを別名で複製
URLの後ろにディレクトリを指定すると、そのディレクトリ内に複製されます。
git clone リポジトリURL ディレクトリ名
指定したディレクトリ名でディレクトリが作成され、その中にリポジトリの内容が入ります。
(例) リポジトリ「envader-scenario-1077」をディレクトリ名「selectedDirectory」にクローンした場合
(カレントディレクトリ)
├── selectedDirectory
├── (リポジトリの内容)
└── (リポジトリの内容)
└──…
git cloneの通信方式の指定
リポジトリをクローンするする時にも通信方式があり、http方式、git方式、ssh方式などがあります。
それぞれ git clone
の後に 通信方式:リポジトリURLとするだけで通信方式を指定することができます。
http方式
http方式は、通信速度が早く高速で通信したいときに使われます。
git clone http:リポジトリURL ディレクトリ
git方式
git方式はさらに高速で通信することができます。 しかし、以下のデメリットがあります。
- 認証部分が暗号化されない
- クローンしたものの参照のみ(読み取り専用)
参照のみでpushをする必要がない時におすすめです。
git clone git:リポジトリURL ディレクトリ
ssh方式
sshは開発現場で使われることが多い方式です。 認証部分を含めたネットワーク上のすべての通信が暗号化され、安全に通信できます。しかし、他の方式と比べると通信速度が遅いため、巨大なリポジトリだとかなりの時間がかかってしまいます。
git clone ssh:リポジトリURL ディレクトリ
git cloneのオプション
git clone
にはたくさんのオプションが用意されています。
代表的なものを紹介します。
オプション一覧の表示 -h
-h
オプションをつけて実行すると、オプション一覧を確認できます。
git clone -h
(実行結果)
usage: git clone [<options>] [--] <repo> [<dir>]
$ -v, --verbose be more verbose
$ -q, --quiet be more quiet
$ --progress force progress reporting
$ -n, --no-checkout don't create a checkout
$ --bare create a bare repository
$ --mirror create a mirror repository (implies bare)
$ -l, --local to clone from a local repository
...
# 以降、省略
ブランチの指定 -b
通常、git clone
ではmainブランチを取得します。
-b
オプションを使うと、ブランチの指定が可能です。
git clone -b 指定したいブランチ名 リポジトリURL
クローン時のメッセージを非表示に -q
通常、clone時には進捗状況が出力されます。
-q
をつけると、この進捗状況を非表示にできます。
git clone -q リポジトリURL
取得するコミット数を指定する --depth
--depth
オプションで、指定した数字の回数分、直近のコミットだけを複製できます。
(例)1を指定した場合、最新のコミット分のみを複製
git clone --depth 取得したい過去のコミット数 リポジトリURL
コミット履歴が大量のリポジトリであっても、素早く複製が可能となります。
git cloneに関するその他の操作
git clone
に関連する操作について紹介します。
ローカル内のブランチ一覧を表示する
git branch
を実行すると、ローカル内のブランチ一覧を確認できます。
git branch
リモートリポジトリの場所を確認
リモートリポジトリがネットワーク上のどこに存在するのか調べたいときは git remote -v
を実行します。
実行することでリモートリポジトリの場所を確認できます。
git remote -v
origin リモートリポジトリのURL
Git操作関連記事
https://envader.plus/course/5/scenario/1055
まとめ
今回はgit clone
について解説しました。
git clone
コマンドは複数人で開発するときに必ずといっていいほど使います。
git clone リポジトリURL
開発開始時に1回実施するだけなので、使用頻度はそこまで多くはありません。 ただ1回は必ず使うコマンドなので、使い方は覚えておきましょう。
問題を解くためには、十分な画面サイズのPC環境をご利用下さい。