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

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. jasperreports+IReport 5.56,集成到Spring MVC4.0案例

    首先,先说一下需求,项目需要打印一些报表,也没多想,直接就在jsp页面设置了样式,前台直接调用window.print()写了打印功能,但是例会的时候,领导提出需要一些比较麻烦的打印,自己写肯定费时间 ...

  2. servlet之ServletRequest与ServletResponse (三)

    ·servlet的service()方法用于应答请求:每次请求都会调用service()方法 public void service(ServletRequest arg0, ServletRespo ...

  3. vue使用vue-video-player在直播中的应用

    文档地址:https://github.com/savokiss/vue-videojs-demo live demo地址:https://github.com/savokiss/vue-videoj ...

  4. 学习笔记:spark Streaming的入门

    spark Streaming的入门 1.概述 spark streaming 是spark core api的一个扩展,可实现实时数据的可扩展,高吞吐量,容错流处理. 从上图可以看出,数据可以有很多 ...

  5. POJ - 1222: EXTENDED LIGHTS OUT (开关问题-高斯消元)

    pro:给定5*6的灯的状态,如果我们按下一个灯的开关,它和周围4个都会改变状态.求一种合法状态,使得终状态全为关闭: sol:模2意义下的高斯消元. 终于自己手打了一个初级板子. #include& ...

  6. python接口测试-将运行结果写入Excel表格

    公司工作是促进学习的第一生产力!! 一个get请求的接口,我想清楚的在Excel中看到所有的数据! 带着学过H5,php觉得所有代码都很简单的自信,在公司开发的[鼓励]下开始了一上午的斗争 一个小时. ...

  7. JavaScript新手入门 贪吃蛇

    从小就在玩贪吃蛇,但是知道今天自己做了一遍才知道原理的具体的实现步骤. 刚进入界面时显示开始游戏(不重要,本人比较喜欢吹毛求疵) 中间黑色部分为游戏的主要展示部分 主要步骤及源码: body中代码,红 ...

  8. React项目中跨域问题的解决方案

    刚刚找到到通过creat-react-app创建的项目中跨域问题的解决方案,记录下来以备后用. 如果接口地址为:    http://my.example.com/eg-api  则配置package ...

  9. kylin cubing algorithm(算法)

    看到这一块的视频,结合光方博客的一些文档及自己的一点理解,记个笔记,以备不时之需. by layer cubing 1.on MR  这个算法的对cube的计算就像它的名字一样是按player进行的. ...

  10. vue.js组件传值

    组件传值有一下几种方式:父子传值(父传子,子传父),非父子传值,vuex,插槽作用域 1.父子传值: (1)父传子: 传值方:当子元素在父元素中当标签使用时,通过给子标签绑定一个自定义属性,属性值为需 ...