(ubuntu环境)请问,我在本地有一个目录(非空),想把它变成git远程库,应该要怎么做?
PS:本人是git库管理者,要给其他人分配库的权限,在网上看了一些教程,不太明白。
有一种比较笨的方法:先在gitolite-admin/conf/gitolite.conf里创建库并分配权限,然后push到服务器,再下载到本地,把文件拷进去,然后push到服务器。这方法不太好用,有其他方法吗?
漂亮男人2017-04-26 09:03:44
リモートライブラリにするだけなら難しくありません。Git でサポートされている 4 つの送信プロトコルをすべて使用できます。
file://
これはローカル (LAN ファイル共有システム) に適しています。シンプルですぐに使えますが、権限を分けることはできません。 file://
这个适用于本地(局域网文件共享系统)。简单,立马就用,但是权限划分不可能。git://
需要运行一个特殊守护进程,然后其他人通过特定端口号访问,也不难。但是一般只用来读取,一旦开放写操作,则所有知道地址的用户都可以读/写,基本没有安全性。ssh://
这个比较常用,当然也是最安全的,通过在 ssh 之上建立一个授权层可以实现非常复杂的权限分配,代表程序:gitolite 等。但是配置非常复杂,需要你对 ssh 协议有非常深入的了解。ssh 的另外一个缺点是无法实现匿名访问——当然如果你不需要开源的话这也没什么。或者配合 git 协议一起用。http(s)://
架设简便,整一个 http 服务器,把 git repo 放在服务器根路径,然后配置一个 post-update
git://
は特別なデーモン プロセスを実行する必要があり、その後、他のユーザーが特定のポート番号を介してアクセスできるようになりますが、これは難しくありません。ただし、通常は読み取りのみに使用され、書き込み操作がオープンされると、アドレスを知っているすべてのユーザーが読み取り/書き込みが可能になり、基本的にセキュリティはありません。 ssh://
これはより一般的に使用されており、もちろん最も安全です。ssh の上に認証レイヤーを確立することで、gitolite などのプログラムを表す非常に複雑な権限の配布を実現できます。 。ただし、設定は非常に複雑であり、ssh プロトコルについての非常に深い理解が必要です。 ssh のもう 1 つの欠点は、匿名アクセスを実現できないことです。もちろん、オープンソースが必要ない場合はこれで問題ありません。または、git プロトコルと一緒に使用します。
http(s)://
は、http サーバーをセットアップし、サーバーのルート パスに git リポジトリを配置して、post-update
を設定するだけで簡単にセットアップできます。 >フック。 Github などの高度な Git サービスはすべて、http + ssh の 2 つの機能を備えています (http は低速です)。条件が整えばGitlabを試してみることをお勧めしますが、Railsをデプロイする能力が必要で、かなり複雑です(効果はすごいです)。 🎜
🎜
🎜具体的な操作プロセスを簡単に説明するのは難しいですが、まず何を使用するかを考えてから始めてください。