(ubuntu环境)请问,我在本地有一个目录(非空),想把它变成git远程库,应该要怎么做? PS:本人是git库管理者,要给其他人分配库的权限,在网上看了一些教程,不太明白。 有一种比较笨的方法:先在gitolite-admin/conf/gitolite.conf里创建库并分配权限,然后push到服务器,再下载到本地,把文件拷进去,然后push到服务器。这方法不太好用,有其他方法吗?
如果只是变成远程库不难,Git 支持的四种传输协议都可以使用:
file://
git://
ssh://
http(s)://
post-update
简单介绍一下,具体的每一个操作过程都难以三言两语表述清楚,先想好用什么吧,然后从这里开始
如果只是变成远程库不难,Git 支持的四种传输协议都可以使用:
file://
这个适用于本地(局域网文件共享系统)。简单,立马就用,但是权限划分不可能。git://
需要运行一个特殊守护进程,然后其他人通过特定端口号访问,也不难。但是一般只用来读取,一旦开放写操作,则所有知道地址的用户都可以读/写,基本没有安全性。ssh://
这个比较常用,当然也是最安全的,通过在 ssh 之上建立一个授权层可以实现非常复杂的权限分配,代表程序:gitolite 等。但是配置非常复杂,需要你对 ssh 协议有非常深入的了解。ssh 的另外一个缺点是无法实现匿名访问——当然如果你不需要开源的话这也没什么。或者配合 git 协议一起用。http(s)://
架设简便,整一个 http 服务器,把 git repo 放在服务器根路径,然后配置一个post-update
钩子就可以了。高级的 Git 服务都是 http(s) + ssh 双管齐下的(http 比较慢),比如 Github。建议你有条件的话不妨试一下 Gitlab 好了,不过要有 Rails 部署的能力,而且也挺复杂(效果奇好哦)。简单介绍一下,具体的每一个操作过程都难以三言两语表述清楚,先想好用什么吧,然后从这里开始