gitが使えるプロトコル
gitでソースコードを取得するとき、たまにhttp://で取得できなかったものの、プロトコルを変えたら(https://かgit://に変更)うまく取得できたことがあります。
今回は、gitサーバー構築の観点で、gitが使える4つのプロトコルを紹介したと思います。
Localプロトコル
gitサーバーを開発チーム全員のアクセスできるリモートディスクなどに構築するときに使います。
Localプロトコルで、ソースコード取得(クローン)するのに、下記のコマンドを使います。
1 2 | git clone /opt/git/project.git // 自分のパソコンにあるのように、リモートパスを指定 git clone file:///opt/git/project.git // これも使える |
利点
・構築しやすい
欠点
・アクセスに制限あり(自宅には、会社のリモートディスクに容易にアクセスできない)
・転送速度はSSHプロトコルより遅い
SSHプロトコル
非公開のプロジェクトをgitサーバーで管理するのに、このプロトコルが一番広く使われています。
SSHプロトコルで、ソースコード取得(クローン)するのに、下記のコマンドを使います。
1 2 | git clone ssh://user@server/project.git git clone user@server:project.git // デフォルトなので、プロトコル省略しても大丈夫 |
利点
・構築も容易
・ネットワークを越して認証をつけやすく、かつデータが暗号化されるなので安全
・容易に読み込み、書き込み権限をつけやすい
・転送速度は速い
欠点
・匿名アクセスを許可できない
gitプロトコル
すべての人に、読み込み権限を与えるプロトコルです。
SSHプロトコルと組み合わせて、一部の人に書き込み権限だけを与えることが可能です。
gitプロトコルで、ソースコード取得(クローン)するのに、下記のコマンドを使います。
1 | git clone http://example.com/gitproject.git |
利点
・転送速度が一番速い(暗号化と認証がないから)
欠点
・認証がないから、一部の人だけ書き込み権限を与えることができない
・専用ポートを開く必要ある
・gitとは別、特別なツール(centosならgit-daemon)をインストール必要ある
・構築するのに一番難しい
http/httpsプロトコル
http/httpsプロトコルを用いて、ウェブサーバーにアクセスできる人もリポジトリをクローンできます。
http/httpsプロトコルで、ソースコード取得(クローン)するのに、下記のコマンドを使います。
1 | git clone http://example.com/gitproject.git |
利点
・構築は比較的に簡単
・転送コンテンツを暗号化したり、特定の署名のSSL証明書で認証したりこともできる
欠点
・非効率(転送量が増える)
Author Profile
スターフィールド編集部
SHARE