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服务器Gitolite是搭建基于Git的分布式版本控制系统的一个强大工具,它允许用户轻松地管理和控制对Git仓库的访问权限。Git自身虽然提供了强大的版本控制功能,但对用户权限的管理相对简单,不适合大规模协作环境。...
通过以上步骤,你已经在自己的计算机上成功建立了Git服务器端,使用Gitblit作为管理工具,实现了远程代码仓库的功能。现在,团队成员可以方便地进行代码版本控制和协同开发。记住,持续学习和实践是提升Git技能的...
【企业级Git Server服务的部署与应用】 随着开源的广泛普及,Git作为版本控制系统在开发者、团队和企业中被广泛应用。尽管有许多免费的Git托管服务商,如GitHub、GitLab和Bitbucket,但出于对源代码安全性的考虑,...
3. **Gitolite简介**:Gitolite是一个轻量级的、易于配置的Git服务器管理系统,支持多用户、多仓库、权限管理等功能。 #### 四、搭建步骤 1. **安装Git和SSH** - 在Ubuntu服务器上安装Git和SSH两个核心软件。 ```...
在Git服务管理工具这个领域,主要有三种流行的方案,...对于个人,中小型企业及一些开源项目而言,如果没有特殊的要求,其实没有必要去架设上面第三种方案Git服务器。Gitolite提供的服务已经足够用。下面将详细讲解怎
Gitblit则是一个轻量级、纯Java编写的Git服务器管理程序,它提供了简单的Web界面来管理和托管Git仓库。本教程将详细介绍如何在Windows Server 2008 R2操作系统上使用Gitblit搭建Git服务器。 首先,你需要准备以下两...
非常方便,快捷搭建Git Web服务器,完全是免费,配置好IIS就可以访问。在局域网内使用自己的Git服务器,简单快捷地分配账号。与Github类似的用法,但完全是免费私密的。适用于公司、小团队、个人开发非开源项目使用...
【Bonobo Git Server服务器】是一种基于.NET框架的开源Git服务器,设计用于在本地环境中搭建团队代码管理服务。它提供了一个用户友好的Web界面,使得团队成员可以方便地进行Git仓库的创建、访问、管理和协作。这个...
Gitolite是一个用于管理分布式Git服务器的工具,特别适合于需要精细控制用户权限和版本库访问的企业级场景。以下是从安装到管理Gitolite的全流程指导: **安装Gitolite** - **服务器端创建专用帐号**:为了安全...
Git服务端的搭建需要多用户协作及其权限控制等功能,这需要用户管理权限控制组件的支持,目前这类组件主要有两类:Gitosis和Gitolite。 Gitosis起初功能强大,但于09年不再更新。 Gitolite原本是作为Gitosis的lite...
Bonobo.Git.Server是一款开源的应用程序,专为Windows环境设计,用以搭建和管理本地Git服务器。它提供了直观的Web界面,使得团队协作和代码版本控制变得轻而易举。在本篇文章中,我们将深入探讨Bonobo.Git.Server的...
Gitolite是一款基于Perl编写的Git服务器管理工具,它可以方便地控制用户对Git仓库的访问权限,实现细粒度的读写控制。结合Git,Gitolite允许团队成员安全地进行代码共享和协作,同时确保数据的安全性。 TortoiseGit...
这是 gitolite 的概念证明 git-lfs 存储服务器助手。 它已被编写为与 django-git-lfs 配合使用,请参阅: : 要求 Gitolite Perl:JSON 和 LWP (HTTP) 安装 在 gitolite 中设置 LOCAL_CODE。 将 LFS_URL 添加到 ...
ubuntu系统搭建git+gitolite实现git权限管理手册,目前内网上讲的git+gitolite的帖子有很多,但大部分说的不是很清楚,按照他们的方法搭建可能会踩坑,文内的方法已亲测有效,如有问题可以及时反馈!
在本文中,我们将深入探讨如何在Ubuntu 12.04服务器上安装Git以及与之相关的gitolite工具,这是一个用于管理和控制Git仓库的强大系统。首先,我们将介绍如何使用包管理器安装Git,接着设置SSH访问,最后我们将详细...
完全学会Git、GitHub、Git Server的24堂课
讲速了 在centos 下搭建git服务器 用gitolite 来管理权限 很经典 值得拥有
在配置完成 Gitolite 之后,管理员可以使用 Gitolite 管理仓库和用户权限。管理员可以添加新的仓库项目,添加用户权限,并管理仓库的版本控制。 五、开发人员操作 开发人员可以使用 Git 客户端工具,如 ...