搜索

首页  >  问答  >  正文

ubuntu - git远程库

(ubuntu环境)请问,我在本地有一个目录(非空),想把它变成git远程库,应该要怎么做?
PS:本人是git库管理者,要给其他人分配库的权限,在网上看了一些教程,不太明白。
有一种比较笨的方法:先在gitolite-admin/conf/gitolite.conf里创建库并分配权限,然后push到服务器,再下载到本地,把文件拷进去,然后push到服务器。这方法不太好用,有其他方法吗?

我想大声告诉你我想大声告诉你2776 天前733

全部回复(1)我来回复

  • 漂亮男人

    漂亮男人2017-04-26 09:03:44

    如果只是变成远程库不难,Git 支持的四种传输协议都可以使用:

    1. file:// 这个适用于本地(局域网文件共享系统)。简单,立马就用,但是权限划分不可能。
    2. git:// 需要运行一个特殊守护进程,然后其他人通过特定端口号访问,也不难。但是一般只用来读取,一旦开放写操作,则所有知道地址的用户都可以读/写,基本没有安全性。
    3. ssh:// 这个比较常用,当然也是最安全的,通过在 ssh 之上建立一个授权层可以实现非常复杂的权限分配,代表程序:gitolite 等。但是配置非常复杂,需要你对 ssh 协议有非常深入的了解。ssh 的另外一个缺点是无法实现匿名访问——当然如果你不需要开源的话这也没什么。或者配合 git 协议一起用。
    4. http(s):// 架设简便,整一个 http 服务器,把 git repo 放在服务器根路径,然后配置一个 post-update 钩子就可以了。高级的 Git 服务都是 http(s) + ssh 双管齐下的(http 比较慢),比如 Github。建议你有条件的话不妨试一下 Gitlab 好了,不过要有 Rails 部署的能力,而且也挺复杂(效果奇好哦)。

    简单介绍一下,具体的每一个操作过程都难以三言两语表述清楚,先想好用什么吧,然后从这里开始

    回复
    0
  • 取消回复