1. 在服务器上创建Git管理员帐号git
$sudo adduser git
2. 在客户端创建管理员公匙(Unix/Linux)
$ssh-keygen
然后一路回车,提示成功后生成2个文件
~/.ssh/id_rsa
~/.ssh/id_rsa.pub (公匙)
3. 在客户端将公匙上传到服务器上管理员的主目录(没装SSH就发邮件吧:),并重命名为git.pub
$scp ~/.ssh/id_rsa.pub git@YOUR_SERVER:/home/git/git.pub
4. 在服务器上安装git-core
$sudo apt-get install git-core
5. 在服务器上安装Gitolite,使用账户git打开shell,否则会找不到命令
$git clone git://github.com/sitaramc/gitolite
$cd gitolite
$src/gl-system-install
$gl-setup ~/git.pub
6. 客户端clone一个管理库,修改里面的文件,就可以管理仓库、用户、组、权限等等内容了
$git clone git@YOUR_SERVER:gitolite-admin
关于Gitolite的权限管理,下面是一些入门知识
翻译了部分官方文档
http://sitaramc.github.com/gitolite/doc/gitolite.conf.html
syntax 语法
通常情况下,语法里都是以空格分隔的; 不使用逗号分号等符号.
注释跟Shell注释一样
用户名 和 仓库名 尽量简单; 必须以字母和数字开头, 后面可以包含.
, _
或 -
.
用户名可以跟字符@
并加域名,域名至少含有1个.
(也就是允许使用邮箱地址做用户名). 仓库名可以含有斜线/
(这可以很方便地将仓库组织成数状结构)
continuation lines 续行
没有续行 -- gitolite不处理C语言里反斜线\转译的任何特殊的新行. 但是"群组"章节会告诉你如何把一大串的名称定义成多行.
include files 文件包含
Gitolite允许把配置放在多个文件里,使用的时候很方便地包含到到主文件里.
include "foo.conf"
上面代码将把同目录下的foo.conf包含进主配置文件. 也可以使用绝对路径, 不过明智的话应该避免那样做!
也可以使用通配符,如:
include "*.conf"
这样会包含主配置所在目录下所有的".conf"文件.
处理过的文件都会略过,并报个警告.
basic access control 基本访问控制
下面是一组最基本的规则:
repo gitolite-admin
RW+ = sitaram
repo testing
RW+ = @all
repo gitolite simplicity
RW+ = sitaram dilbert
RW = alice ashok
R = wally
意思应该很容易猜到了:
-
R
表示读权限
-
RW
表示读写权限, 不能rewind
-
RW+
表示读写权限, 允许rewind
groups 群组
Gitolite允许你定义仓库groups,用户groups,甚至是refexes groups. group在语义上类似C语言里的#define
(但不是语法上). 下面是每种group的例子:
@oss_repos = gitolite linux git perl rakudo entrans vkc
@staff = sitaram some_dev another-dev
@important = master$ QA_done refs/tags/v[0-9]
group定义语法很简单:
@groupname = [one or more names]
group可以累积值,例如:
@staff = sitaram some_dev another-dev
@staff = au.thor
跟下面效果相同
@staff = sitaram some_dev another-dev au.thor
这比续行方便多了,可以在任何地方增加group. 很多人从数据库里生成gitolite.conf, 能做这种事情是非常有用的.
Groups可以包含别的groups, 被包含的group会展开他的当前值:
@staff = sitaram some_dev another-dev # line 1
@staff = au.thor # line 2
@interns = indy james # line 3
@alldevs = bob @interns @staff # line 4
"@alldevs" 展开了7个用户名. 然而要记住配置文件只顺序解析1次,所以后面给group增加的用户不影响前面的结果. 例如把第2行移动到最后, "@alldevs"就只有6个用户名了.
特殊的 @all
group
有个特殊群组叫@all
作为用户名使用时,包含了所有通过身份验证的用户; 前面你已经看到例子了.
作为仓库名使用时, 包含所有仓库.
分享到:
相关推荐
git gitolite repo 代码服务器配置记录 为android等源码创建repo服务器,通过gitolite管理权限
在Git服务管理工具这个领域,主要有三种流行的方案,...对于个人,中小型企业及一些开源项目而言,如果没有特殊的要求,其实没有必要去架设上面第三种方案Git服务器。Gitolite提供的服务已经足够用。下面将详细讲解怎
GIT服务器 Gitolite ,Git是非常著名的分布式版本控制系统。gitolite 则是方便通过 Git 与 ssh 架设中央服...
Git服务端的搭建需要多用户协作及其权限控制等功能,这需要用户管理权限控制组件的支持,目前这类组件主要有两类:Gitosis和Gitolite。 Gitosis起初功能强大,但于09年不再更新。 Gitolite原本是作为Gitosis的lite...
代码管理工具,git服务器端建立仓储,在自己的电脑上就可以创建远程代码仓库
bonobo_git_server服务器,可用于搭建本地git服务器,方便团队成员间进行项目代码管理
关于ubuntu下git服务器的搭建
部署成web即可,方便地搭建git server服务器
Gitolite构建Git服务器。比较好的方法。
关于各种可以在Windows Server 2008上架设git服务器的解决方案 一 方案1:copssh + msysgit 这是一个非常简单而且灵活的方式。如果不涉及开发者对项目访问权限的管理问题,这是一个最经济高效的解决方案,具体安装...
非常方便,快捷搭建Git Web服务器,完全是免费,配置好IIS就可以访问。在局域网内使用自己的Git服务器,简单快捷地分配账号。与Github类似的用法,但完全是免费私密的。适用于公司、小团队、个人开发非开源项目使用...
Gitosis则是方便通过Git与ssh架设中央服务器的软件。这篇文章的安装流程写得很明了,但使用中还是遇到了些许问题,本文算是该流程的补充。如果打算通过Gitosis架设服务器通过本文或许可以少走不少弯路。 一、架设...
这是 gitolite 的概念证明 git-lfs 存储服务器助手。 它已被编写为与 django-git-lfs 配合使用,请参阅: : 要求 Gitolite Perl:JSON 和 LWP (HTTP) 安装 在 gitolite 中设置 LOCAL_CODE。 将 LFS_URL 添加到 ...
Bonobo.Git.Server本地服务器配置安装包加说明。。。。。。
讲速了 在centos 下搭建git服务器 用gitolite 来管理权限 很经典 值得拥有
使用Gitblit :在Windows2008 r2上部署Git Server
首先去下载Git的源代码,当然从下面的网址去下载:或者:目前可以看到Git的最新版已经发布到了2.12,我们就以这个Releases版本为例(懂C和C++的童鞋
最全面的Git学习资料(包括<Pro Git>中文版、Git+Gitolite_TortoiseGit、git学习文档),教你轻松入门。
一、 Windows2003下安装GIT服务器所需的软件 5 二、 Msysgit与copssh的安装 5 三、 程序配置 6 1. 服务端git支持配置 6 2. 服务端Copssh配置 6 3. 客户端git配置(配置成支持远程无密码登入) 8 四、 测试Git服务器 ...