テックキャンプのキャリア相談へ
資料請求はこちら

git cloneの使い方まとめ!SSHなど利用できるプロトコルについても紹介

公開: 2016.10.23 更新: 2020.08.31

>>No1エンジニア養成プログラム テックキャンプ

10年後も職を失わない人材になれる限定資料を見る

あなたはgit cloneの使い方で悩んでいませんか?

git cloneは基本的なコマンドなのでついなんとなくで使いがちですが、この基本コマンドを理解することでgit自体への理解を深めることができます。

この記事ではgit cloneについて複数の書籍やサイトを参考にどこよりも詳しくまとめました。この記事をきっかけに便利なgitを使いこなせるようになりましょう。

この記事は現役エンジニアによって監修済みです。

git cloneの基本的な使い方

引用:git-scm.com

git cloneは既存の Gitリポジトリを別のサーバーからクローンするコマンドです。プロジェクトのスタートや途中から開発に加わるときは必ずgit cloneから始めます。

通常のclone

通常のgitプロジェクトでは、githubなどから自分のローカル環境にクローンします。

 $ git clone [リポジトリ名]

cloneするとコマンドを実行したときにいるディレクトリに repositoryディレクトリが作られます。もしもディレクトリを変更したい場合は指定の次にパスを指定します。

$ git clone [リポジトリ名] path/to/dir

git cloneで利用できるプロトコル

git cloneにはいくつかのプロトコル(通信方式)のパターンがあります。使用するプロトコルによって出来ること、出来ないことがありますので注意が必要です。

git

■特徴
・高速に通信できる
・認証機能がない(セキュリティは担保されない)
・git cloneした場合はread-only(読むことしかできない状態)になる

■使い方

git clone git://example.com/var/www/hoge.git

SSH

■特徴
・認証が必要で暗号化されるため安全
・匿名でアクセスできない

■使い方

$ git clone ssh://user@server/project.git

省略形で記述も可能です。

$ git clone user@server:project.git

HTTP/S

■特徴
・GitHubの推奨
・GitHubではユーザー名、パスワードを使って認証を行う
・基本はhttpsを利用しhttpを使うメリットはない
・SSHより高速

■使い方

$ git clone http://example.com/hoge/.git

どう使い分けるのか

プロトコルは、基本的にHTTP/S を使うとよいです。GitHub でも推奨されています。

SSHは、ファイヤーフォールやプロキシの下では動作しないことがあります。

HTTP/Sは、クローンするとpushするたびにユーザー名とパスワードを要求されて面倒だという難点がありますが、Keychain などを使えば一度入力したユーザ名やパスワードを保存してくれるので、それほど手間はかかりません。

ITエンジニアになって手に職をつけよう

今の仕事の将来が不安」「自信を持てるスキルがない」というあなた、ITエンジニアというキャリアを考えてみませんか。

エンジニアなら、
✔求人倍率8倍以上で仕事に困らない
✔一生使えるスキルを身について、副業やフリーランスという選択肢も増える
✔年収が高い仕事に就ける

日本最大級のプログラミングスクール・テックキャンプは今から行動すれば、10週間後にエンジニアに!

期間限定で受講料3万円OFFになるキャンペーンも実施中。迷っている方は、まずは無料カウンセリングで不安なことを相談してみてください。オンラインでも可能です。

ブランチを指定する

リモートから特定のブランチを指定してcloneする方法を紹介します。通常のgit cloneだとmasterブランチをcloneしますが他のブランチを取得したい際にブランチ指定を行うことができます。

$ git clone -b [ブランチ名] --single-branch [リモートリポジトリ名]

git clone のオプション一覧

git cloneには複数のオプションを指定することができます。通常のgit clone以外も使いこなすことができるように見ていきましょう。

oオプション

リモートリポジトリでデフォルトのリポジトリ名であるorigin以外をcloneできます。何も指定していない場合はoriginというリポジトリをcloneします。

git clone -o [origin以外のリポジトリの名前] [リポジトリ]

bareオプション

ベアリポジトリとしてリポジトリを複製します。ベアリポジトリとはワーキングディレクトリを持たないリポジトリです。ベアリポジトリは主にリモートリポジトリで更新管理用に利用されます。ローカルにcloneして開発するときにはワーキングディレクトリのあるノンベアディレクトリを利用します。

git clone --bare [リポジトリ]

mirrorオプション

リポジトリのミラーを作ります。リモートリポジトリの設定変更はできないが、ローカルで同期しないといけないときに便利な方法です。

git clone --mirror [リポジトリ]

depthオプション

depthオプションをつけることで最新の履歴だけ取得可能です。例えば、ファイルを取得するケースなどで利用します。このコピーから clone、fetch、 push することもできません。

git clone --depth 1 [リポジトリ]

–recursiveオプション

リポジトリを複製するときにサブモジュールを取得することができます。サブモジュールについてはここでは割愛します。

git clone --recursive [リポジトリ]

–bオプション

リポジトリを複製して特定のブランチをワークツリーに展開します。

git clone -b BRANCH https://example.com/repo.git

 まとめ

git cloneの使い方やオプションについて解説してきましたが、いかがでしたでしょうか。

本記事を理解することでgit自体への理解を深められるはずです。

gitはとても多機能で学ぶほど生産性があがっていくので、ぜひgitを使いこなせるようになってください。

未経験からのIT転職を叶えるテックキャンプが、今なら受講料30,000円OFF!

IT転職したいけれど、未経験からの転職は不安……」と思っていませんか。
テックキャンプでは、受講生の90%以上が非IT業界。未経験でも30代でもエンジニアに転職しています。転職成功率は98%以上!

挫折しやすいプログラミング学習も、テックキャンプには最後までやりきれる理由があります。
✔初心者でもわかりやすい学習教材
✔プロの講師に質問し放題の環境
✔学習から転職まで、徹底したサポート

今なら受講料が3万円オフになるキャンペーン開催中。2021年は行動して自分を変えましょう!

キャンペーンの詳細はこちら

この記事を書いた人

真子 就有(まこ ゆきなり)
テックキャンプを運営する株式会社divのCEOです。

あなたの理想のキャリアに合わせた、テックキャンプの3つのサービス

Advertisement