Gitのcloneコマンドはリポジトリを複製するためのコマンドだ。
このページではcloneコマンドの使い方について初心者の方向けに解説した。参考にしていただければ幸いだ。
目次
Gitのcloneコマンド
cloneコマンドは、その名の通りクローンを作るためのコマンドだ。指定されたディレクトリに元のリポジトリと同じものを複製するコマンドになる。
例えば、開発現場に新しく入った人がGithubからソースをコピーして来たい時など、cloneコマンドを使うことになる。
このために使うコマンドの基本は簡単だ。
git clone [リポジトリ] [ディレクトリ]
では、実際の使い方を見てみよう。
リモート・リポジトリをクローンする場合
リモート・リポジトリとディレクトリを指定してコマンドを実行する時は下記のようになる。
例えば、リポジトリに//KU-HP/sampe.git、ディレクトリにcopyを指定して、
$ git clone //KU-HP/sample.git copy
指定したディレクトリに移動して、git show-branchコマンドを実行するとリポジトリが作成されていることが確認できる。
ローカルのリポジトリをクローンする場合
ローカルのリポジトリを同じローカルのディレクトリにクローンするときは下記のようになる。
例えば、リポジトリに現在のディレクトリを指定し、ディレクトリに../copyを指定して、
$ git clone -l -s -n . ../copy
とコマンドを叩けばOKだ。
指定したディレクトリに移動して、git show-branchコマンドを実行するとリポジトリが作成されていることが確認できる。
ディレクトリを指定しない場合
リポジトリだけ指定して、ディレクトリを指定しないこともできる。そうすると直下にリポジトリがクローンされる。
$ git clone [リポジトリ]
リモート・リポジトリと同じ名前のディレクトリに移動して、git show-branchコマンドを実行するとリポジトリが作成されていることが確認できる。
cloneコマンドのオプション
cloneコマンドでは次のオプションが使える。
オプション |
説明 |
-l |
リポジトリがローカルマシーンからクローンされる場合、このフラグは通常の「Git aware」転送メカニズムをバイパスして、HEADとrefsディレクトリの下にある全てのオブジェクトをコピーすることによってクローンする。 |
-s |
リポジトリがローカルのマシーンにある場合、hard linksを用いる代わりに自動的に元のリポジトリとオブジェクトを共有するために.git/objects/info/alternatesを準備する。結果として、リポジトリは独自のオブジェクトなしで行ける。 |
-n |
クローンが完了した後、HEADのチェックをしない。 |
まとめ
このページではGitのcloneコマンドの使い方についてまとめてご紹介した。
クラウド系のGitサービスは親切なため、cloneコマンドも含めて、「これを叩いてくださいね」と言ってくれる場合が多い。ただ、やはりエンジニアとしては、コマンドの意味・使い方を理解しておきたいところだ。
素人ですが
「$ git clone //KU-HP/sample,git copy c」
「$ git clone -l -s -n . ../copy c」
の部分のカンマはピリオドだし、最後の「 c」は要りませんよね?
ご指摘いただきありがとうございます。
該当箇所の記述を訂正いたしました。
引き続き、ご愛読のほど、よろしくお願いいたします。