每台机器生成密钥前要设置邮箱和用户名:

git config --global user.name "admin"
git config --global user.email "admin@example.com"
#查看配置
git config -l

(1)创建用户和用户组

#新建用户同时增加用户组(-g 所属组)
useradd -g git git
#修改用户密码
passwd

(2)登录git用户,打开主目录~,并且下载gitolite

su - git
cd ~
git clone git://github.com/sitaramc/gitolite

(3)安装gitolite

#创建~/bin目录(存放gitolite的软链接)
mkdir bin
#将/home/git/bin 添加到环境变量里
vim .bashrc
在文件最后添加
export PATH=/home/git/bin:$PATH
#安装gitolite
gitolite/install -ln

(4)生成并上传客户端管理员的ssh公钥(通过这个公钥生成所有的仓库)

  1.生成密钥

ssh-keygen -t rsa -C "admin@example.com"
#提示公钥生成地点,点击回车跳过时存放在默认地址(生成成功后会提示密钥存在地址)
#提示输入密码

  2.生成的公钥文件是id_rsa.pub,改成用户名.pub,如admin.pub

  3.将admin.pub上传到/home/git

  4.将admin.pub所属用户和组设置为git

chown -R git:git admin.pub

(5)基于提供的admin.pub创建gitolite-admin管理仓库

[git@server ~]$ gitolite setup -pk $HOME/admin.pub 

Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/
Initialized empty Git repository in /home/git/repositories/testing.git/
WARNING: /home/git/.ssh missing; creating a new one (thisis normal on a brand new install)
WARNING: /home/git/.ssh/authorized_keys missing; creating a new one (thisis normal on a brand new install)

(6)在管理员电脑clone管理仓库(就是生成admin.pub的客户端)

git clone git@192.168.2.223:gitolite-admin.git

(7)添加普通用户(如添加xin用户)

  1.在用户电脑生成公钥

  2.生成的公钥文件是id_rsa.pub,改成用户名.pub,如xin.pub

  3.将xin.pub发给管理员admin

  4.管理员将xin.pub放到管理员电脑的gitolite-admin\keydir

  5.上传到git服务器

git add xin.pub
git commit -m "set user: paul"#提交的文件说明
git push origin

(8)配置用户权限

  1.几种权限组:

  Owner:仓库的拥有者,可以对仓库做任何想做的事情,比如push, 修改其它人访问这个仓库的权限,甚至删除

  RW+:可读写组, clone, push, pull

  R:可读组, clone, pull

  其中 Owner包含 RW, RW权限 包含 R

  2.修改管理员电脑的gitolite-admin\conf\gitolite.conf文件:

  如:

repo gitolite-admin
RW+ = admin
R = zhouqixin repo testing
RW+ = @all repo ybg
RW+ = @all

  repo是仓库,新建仓库只要添加一个repo选项就可以了,上面文件有gitolite-admin,testing和ybg三个仓库

  每个仓库下面的是每个组的用户,多个用户用空格隔开

  3.上传到git服务器

git add gitolite.conf
git commit -m "set user: paul"#提交的文件说明
git push origin

(9)在eclipse中导入远程仓库的工程

  import->projects from git->clone uri

  配置如图:

  

 directory下的目录会自动创建为本地仓库:

  

eclipse git插件的基本使用方法:
http://blog.csdn.net/wisgood/article/details/12949131

在linux上构建gitolite的更多相关文章

  1. linux上构建ftp服务器

    linux上构建ftp服务器 服务器搭建 https://help.aliyun.com/knowledge_detail/60152.html,可以参考这篇博文. 配置文件详解 进入/etc/vsf ...

  2. 如何在linux上构建objective-c程序

    swfit目前还是os x独占,以后会不会扩展到其他系统还未可知,但objective-c并不只存在于os x,在linux下gcc和clang都支持obj-c哦,下面简单把如何在ubuntu上构建o ...

  3. linux上安装gitolite和windows上安装tortoisegit及msysgit

    1 quick install+setup for experts If your Unix-fu and ssh-fu are good, just copy your ssh public key ...

  4. Linux上构建一个RADIUS服务器详解

    作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息.但是网络设备通常只支持有限的用户管理功能.学习如何使用Linux上的一个外部RADIUS服务器来验证用户,具体来说是通过一个 ...

  5. dotnet 在 linux 上构建问题(RID 的问题)

    个人理解 一方面 /etc/os-release 中定义的的 ID VERSION_ID 是会与源代码中定义 RID 的相对应,如果不对应,就会报错 The specified RuntimeIden ...

  6. 【译】在 Linux 上不安装 Mono 构建 .NET Framework 类库

    在这篇文章中,我展示了如何在Linux上构建针对.NET Framework版本的.NET项目,而不使用Mono.通用使用微软新发布的 Mocrosoft.NETFramework.Reference ...

  7. .NET Core初体验 在window上构建第一个app

    ASP.NET Core 是一个跨平台,高性能的开源框架,用于构建现代化的,基于云的互联网应用程序.使用 ASP.NET Core ,您可以: 构建Web应用程序和服务,IoT应用程序和移动后端. 在 ...

  8. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

  9. 在CentOS上构建.net自动化编译环境

             我们知道在Windows上我们很容易构建于MSBuild的自动化编译环境,那么在CentOS也是可以的,主要是需要Mono. 在这儿我们选择Jenkins+Gitlab+Mono在C ...

随机推荐

  1. 使用axios获取本地json数据

    1. 通过搜索 网上说不放在static文件夹中会报错  但是一直报错  放到根目录下的时候不报错了 2. 在main.js中引入axios import axios from 'axios' 3. ...

  2. WEB学习笔记3-开发环境和工具

    WEB前端集成开发环境:Aptana Studio和WebStormWEB前端代码调试:IE浏览器自带的IE Dev Toolbar,Chrome浏览器自带的Developer Tools,Firef ...

  3. 在word中批量更改Mathtype公式的格式

    方法参照下面这个链接 还有这个方法

  4. es6 this指向

    在非箭头函数中,谁调用的函数,this指向就是谁: var obj={ fn:function(){ console.log(this); } } obj.fn();//object 如果this出现 ...

  5. excle中表引用

  6. MySQL_视图

    MySQL 视图 (http://www.cnblogs.com/chenpi/p/5133648.html) 1.什么是视图 通俗的讲,视图就是一条SELECT语句执行后返回的结果集.所以我们在创建 ...

  7. Wpf TemplateBinding

    TemplateBinding. ControlTemplate最终会被用到一个控件上,我们称这个控件为模板目标控件或者模板化控件,ControlTemplate里面的控件可以使用TemplateBi ...

  8. P1181 数列分段Section I

    题目描述(跳转) 对于给定的一个长度为NN的正整数数列A_iAi​,现要将其分成连续的若干段,并且每段和不超过MM(可以等于MM),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格式: 第1 ...

  9. 2018-2019-2 20165313 Exp2 后门原理与实践

    实践基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 应用程序设定后门,用户安装后,后门就可以进入.例如课堂上讲到的百度. (2)例举你知道的后门如何启动起来(win及linux) ...

  10. Dotnetty 的心跳

    只要你不按照实例中使用libuv,就不会有问题了. 主要区别在于 WorkerEventLoopGroup 和 MultithreadEventLoopGroup 之间.