2011-09-06 6 views
6

私がgitを使い始めたとき、同僚が私に言った最も顕著な利点の1つは、gitはサーバー上に存在する必要はありませんでした svnとは反対です。gitを使用するにはサーバに存在する必要がありますか?

これは本当ですか? another threadでは、少なくともgit-upload-packまたはgit-receive-packが必要であることを読んだ。

一方、私は安全にgitリポジトリをusbスティックに置くことができます。

したがって、サーバーにはssh以外のソフトウェアがインストールされている必要がありますか?

答えて

8

いいえ、サーバーにgitをインストールせずにgitリポジトリにサービスを提供できると言っているときは間違いです。 これは、gitリポジトリを提供するために必要なものがすべて.gitディレクトリに格納されているためです。

しかし、リポジトリのアドレス(refspec)に基づいてサーバーと通信するには(clonepushなど...)、特定の転送が使用されます。 sshまたはgitのトランスポートを使用している場合、サーバー側にもgitがインストールされている必要があります。あなたが言ったように、より効率的なフォーマットで交換されるすべてのデータを「パック」しているからです。

ファイルシステムにリモートサーバーをマウントし、 'ファイル'トランスポートを使用することでこれを回避できます。それともあなたはgitのために、独自の「代替案」をアップロードし、その代わりに使用することができます(から:git-upload-pack: command not found, how to fix this correctly

git clone -u /home/you/bin/git-upload-pack [email protected]:code 

を彼はGitのソフトウェアではなく、リポジトリについて話している

0

すべてのgitリポジトリはサーバのように動作します。

git cloneを実行すると、他のどのコンピュータでもリモートとして追加できる完全に機能するリポジトリになります。

+2

。 – Ikke

関連する問題