作者原创 请尊重知识。
第一步 配置本地、服务器git环境 省略。
第二步 创建服务器git账户 省略。
第三步 在服务器安装gitolite
3.1 设置gitolite工作目录
#cd /home/git #chown -R git:git /home/git #chmod -R 2755 /home/git
请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
3.2下载gitolite
#git clone git://github.com/sitaramc/gitolite.git
3.3安装gitolite
#su git #cd ./gitolite #mkdir -p ~/bin #./install -to ~/bin #echo "PATH=$PATH:$HOME/bin" >> ~/.bashrc #source ~/.bashrc 使环境变量生效
3.4 生成公钥与私钥
下一步需要使用到管理员的公钥,在客户端生成公钥与私钥,把公钥上传到git服务器
为了方便,我在git服务器本地生成公钥和私钥,也在git服务器本地进行测试。其实把私钥拷贝到客户端使用也可以。
#su root 切换到root用户
#ssh-keygen -t rsa -f jingfn
下面一直输入“回车”就可以,生成的公钥和私钥在当前下面
把jingfn.pub复制到根目录/下
#cp jingfn* /
将公钥jingfn.pub 私钥jingfn文件 权限修改为git
#chown git jingfn*
3.5 setup
#su git
#cd ~/bin
#./gitolite setup -pk /jingfn.pub
这一步容易出现 如下错误
FATAL: '/jingfn.pub' not a readable file FATAL: '/jingfn.pub' must have exactly one line
请仔细检查jingfn.pub文件的所有权是否是git. 可以考虑重新生成。
此ppk文件是客户端访问服务器的ssh密钥文件。在克隆的时候需要用到,
在提交代码的时候 同样用到。只要使用torioseGit软件,本地一般会有pageant服务并且出现在桌面右下角。
点击开 add key 将ppk文件加进去即可。
将会显示下面的初始化信息
Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/ Initialized empty Git repository in /home/git/repositories/testing.git/
3.6 生成ppk
找到刚刚生成的jingfn(私钥,与公钥一起生成)
下载puttygen,运行puttygen,点击Conversions菜单项中的Import key ,
选择在刚刚生成的jingfn文件 ,在puttygen的界面上点击Save private key按钮就可以把私钥转换为ppk的格式了,
并存放好自己的ppk。
3.7 克隆gitolite-admin管理仓库
方法一 使用图形化界面
右键点击 git clone
设置好 url ,其格式为 git:120.24.239.225:gitolite-admin
设置 load putty key 选择刚刚生成并保存的ppk文件。
这时候就可以直接clone了。一般设置了load putty key之后,pull 和push 都是不需要填写密码的。
方法二 使用git bash
前提仍然是 需要先设置好 load putty key,否则不允许通过。
shell> git clone git@120.24.239.225:gitolite-admin.git 提交修改到服务器 shell> git add . shell> git commit -am "update gitolite conf file" shell> git remote rm origin shell> git remote add origin git@120.24.239.225:gitolite-admin.git shell> git push origin master
方法三 在Linux客户端直接克隆
shell> git clone git@120.24.239.225:gitolite-admin.git 提交修改到服务器 shell> git add . shell> git commit -am "update gitolite conf file" shell> git remote rm origin shell> git remote add origin git@120.24.239.225:gitolite-admin.git shell> git push origin master
3.8 测试
clone到本地的gitolite-admin 仓库,其结构为 keydir 和 conf
keydir 用于存放需要访问各个仓库的客户端公钥,conf下的gitolite.conf 文件用于配置客户端的权限。
repo gitolite-admin RW+ = jingfn repo testing RW+ = @all
在编辑gitolite.conf文件之前,服务器仓库testing.git 是可以正常被clone盗本地的,并且可以写入新的文件。
编辑gitolite.conf文件 去除testing 仓库下的所有用户
repo gitolite-admin RW+ = jingfn repo testing
这时候在本地 不管是push 还是pull 都是不被允许的。
到这里 基本完成了gitolite的权限配置。
3.9 用户组定义
repo gitolite-admin RW+ = jingfn repo testing RW+ = @all @admin = jingfn @android_admin = jinchengLi jingfn @android = jinchengLi ouxch fwl jingfn joie luoyy Aaron dongzhuoyue @java_admin = jingfn @java =jingfn joie wenquan zhengbobo repo gitolite-admin RW+ = @admin repo android/..* C = @android_admin @admin RW = @android repo java/..* C = @java_admin @admin RW = @java repo kp-android C = @android_admin RW = @android repo kp-android-old C = @android_admin RW = @android repo kp-set-001 C = @java_admin @admin RW = @java
这里修改了gitolite.conf文件 其权限分配规则是 ,定义了一组超级管理员@admin
以及 android 和java 的超级管理员和普通成员。
C 表示可以在该目录下创建版本库,创建版本库的用户拥有版本库的所有权限。
我们只需要添加一个 repo 并且push gitolite-admin 到服务器,服务器会自动新建
我们需要的新仓库,我们只需在本地客户端指向服务器git即可提交。
相关推荐
ubuntu系统搭建git+gitolite实现git权限管理手册,目前内网上讲的git+gitolite的帖子有很多,但大部分说的不是很清楚,按照他们的方法搭建可能会踩坑,文内的方法已亲测有效,如有问题可以及时反馈!
总的来说,Gitolite构建Git服务器的过程涵盖了从基础的SSH协议理解,到Gitolite的安装配置,再到精细的权限管理等多个方面。通过对这些环节的深入了解和实践,可以构建出既安全又高效的Git服务器环境,满足企业级...
gitolite-git-lfs 这是 gitolite 的概念证明 git-lfs 存储... 这是用于授予对服务器的访问权限的秘密值。 (参见 django-git-lfs 的 settings.LFS_PERMS_TOKEN 以供参考) 将 git-lfs-authenticate 放入 $LOCAL_CO
Git服务器Gitolite是搭建基于Git的分布式版本控制系统的一个强大工具,它允许用户轻松地管理和控制对Git仓库的访问权限。Git自身虽然提供了强大的版本控制功能,但对用户权限的管理相对简单,不适合大规模协作环境。...
Git服务端的搭建需要多用户协作及其权限控制等功能,这需要用户管理权限控制组件的支持,目前这类组件主要有两类:Gitosis和Gitolite。 Gitosis起初功能强大,但于09年不再更新。 Gitolite原本是作为Gitosis的lite...
Gitolite是一款基于Perl编写的Git服务器管理工具,它可以方便地控制用户对Git仓库的访问权限,实现细粒度的读写控制。结合Git,Gitolite允许团队成员安全地进行代码共享和协作,同时确保数据的安全性。 TortoiseGit...
git gitolite repo 代码服务器配置记录 为android等源码创建repo服务器,通过gitolite管理权限
Gitolite是一款强大的Git访问控制工具,它允许管理员在服务器上对多个Git仓库进行权限管理。Gitolite的出现解决了Git本身在权限控制上的局限性,使得团队协作更加安全和高效。这款工具由Rajesh尼克坦开发,以其轻量...
**Gitolite**是一款基于Git的轻量级仓库管理工具,特别适合中小型企业或团队使用,简化了Git仓库的管理和权限控制。 - **SSH认证**:Gitolite利用SSH的公钥认证机制,确保只有授权用户才能访问指定的仓库。 - **...
5. gitolite将在/home/git目录下创建`repositories`和`projects.list`,并有一个名为`gitolite-admin.git`的管理库,用于添加用户和配置权限。要更改gitolite的默认仓库路径,修改`.gitolite.rc`文件。 6. 在客户端...
Gitolite 是一个 Git 仓库管理工具,它可以帮助您管理 Git 仓库和用户权限。在安装 Gitolite 之前,需要将 Gitolite 的源码 Clone 到当前目录下,然后使用 Git 用户安装 Gitolite。 三、Gitolite 配置 在安装...
Gitolite是一款强大的Git服务器权限管理系统,它允许管理员对Git仓库进行精细的权限控制,包括读、写、推送等操作。这款工具最初由Srikanth Rajagopalan开发,并且持续更新和维护,旨在为Git用户提供高效且安全的...
本文将详细介绍如何在Ubuntu 12.04 Server上安装Git以及使用Gitolite进行版本控制管理。首先,我们通过包管理器`apt-get`来安装Git。在Ubuntu系统中,我们可以执行以下命令来安装Git基础组件: 1. `sudo apt-get ...
讲速了 在centos 下搭建git服务器 用gitolite 来管理权限 很经典 值得拥有
Gitolite是一款强大的Git服务器管理工具,它允许管理员在一台服务器上高效地管理多个Git仓库,并对用户访问这些仓库的权限进行细粒度控制。Gitolite的核心特性包括权限管理、用户认证、仓库克隆与推送限制等。下面将...
将 `/data/git` 目录的所有权更改为 `gitolite` 用户,并设置合适的权限。 ```bash sudo chown -R gitolite:gitolite /data/git sudo chmod -R 755 /data/git ``` **7. 切换到Gitolite用户** 接下来,我们需要...
在搭建Git服务器端时,我们可以选择不同的工具,如GitLab、GitHub、Gitolite或Gitblit。这里我们将重点讨论Gitblit,一个轻量级且易于配置的Git服务管理器。 三、安装Gitblit 1. 下载Gitblit:访问Gitblit官网下载...
3. **Gitolite简介**:Gitolite是一个轻量级的、易于配置的Git服务器管理系统,支持多用户、多仓库、权限管理等功能。 #### 四、搭建步骤 1. **安装Git和SSH** - 在Ubuntu服务器上安装Git和SSH两个核心软件。 ```...
Gitolite 是一个用于管理 Git 仓库的权限控制系统,它允许管理员控制用户对 Git 仓库的访问权限。以下是使用 Gitolite 构建 Git 服务器的步骤: ### 2.1 安装 Gitolite #### 2.1.1 服务器端创建专用帐号 首先,...
Gitolite是一款用于管理Git仓库权限的工具,它允许系统管理员设置细粒度的访问控制,从而确保代码库的安全性和协作效率。本文档旨在指导用户如何使用Gitolite进行基本的操作,包括SSH密钥的生成与配置、代码的克隆与...