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

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. 微信公众号服务器配置url二次修改

    最近微信公众号配置的服务器的域名和云服务到期,就想着更换到别的域名下的服务器:修改的时候出现token验证失败: 我同样的微信签名验证代码在以前服务器上是没问题的,但是修改到新的域名地址时候,总是提醒 ...

  2. ScrimState.java

    /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  3. Python3.7和数据库MySQL 8.0.12 数据库SQLite3连接(三)

    SQLite3 # SQLite3 嵌入式 数据库 python内置SQLite3 # 导入驱动 import sqlite3 # 创建自增主键的表 msql = "create table ...

  4. 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项。试图加载格式不正确的程序。

    异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项.试图加载格式不正确的程序. 解决方法: 点击 ...

  5. JQuery----操作01

    ---恢复内容开始--- 一 JQuery选择器: 基本选择器和基本过滤器和筛选选择器 基础选择器: <title>Title</title> <script src=& ...

  6. 第一次Scrum冲刺——Life in CCSU

    一.第一次Scrum任务 首先集体讨论确定全局规划,然后进行切割分工,按照规划实现全部功能.现在基于用户的基本需求做一部分. 二.用户故事 1.用户打开APP,进入登录界面: 2.用户输入账号和密码: ...

  7. 小妖精的完美游戏教室——buff系统

    作者:小妖精Balous,未经作者允许,任何个人与单位不得将此源代码用于商业化项目 #region buff /// <summary> /// 是否魔法免疫,魔法免疫的生物不会受到除自己 ...

  8. listview 点击时间被拦截

    记录下自己所犯的错误,在写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView条目点击事件失效,检查发现百度上有很多不同的答案, ...

  9. vue的渐进式理解

    链接:https://www.zhihu.com/question/51907207/answer/136559185 渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使 ...

  10. Python实例之抓取淘宝商品数据(json型数据)并保存为TXT

    本实例实现了抓取淘宝网中以‘python’为关键字的搜索结果,经详细查看数据存储于html文档中的js脚本中,数据类型为JSON 具体实现代码如下: import requests import re ...