gitolite简介

轻量级git服务器程序,解决了git权限管理的问题。(git是一个分布式版本控制系统,就是说每个人作为客户端的同时又是服务器)
项目GitHub地址:https://github.com/sitaramc/gitolite
项目官方文档:http://gitolite.com/gitolite/
当前环境:centos 7

安装前准备

  • 在客户端机器安装git,并生成秘钥
    各操作系统安装方法均很简单,请自行安装。
    使用git安装目录下的 usr/bin/ssh-keygen生成rsa秘钥

     ssh-keygen -t rsa 

    然后一路回车到结束。(生成秘钥默认在当前用户目录的.ssh目录下,下面要用)

  • 安装没有安装的依赖包

    yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel perl* git

    需要注意:gitolite对以上软件版本有一定的要求,如果报错,升级软件即可。

    yum update -y  <软件名>
  • 创建用户

    useradd git
    passwd git

    如果已有用户,请确认

    1. ~/.ssh/authorized_keys文件是空的或者不存在
    2. 客户机ssh-keygen生成的id_rsa.pub公钥已经拷贝到:~/YourName.pub ,改成自己的名字,为了多人协作时便于区分,并不是硬性规定

开始安装

su git  <!-- 切换到git用户 -->
git clone git://github.com/sitaramc/gitolite
mkdir -p ~/bin <!-- 一定要创建bin文件夹 -->
~/gitolite/install -to ~/bin
~/bin/gitolite setup -pk YourName.pub <!-- 生成下面所要用的管理库gitolite-admin和测试用库testing -->

安装完成

添加用户和仓库

下载管理仓库

git clone git@host:gitolite-admin.git

打开看到两个文件夹:
conf:存放配置文件(授权文件)
keyDir:存放所有客户端用户的公钥

打开conf/gitolite.conf 配置如下:

@webgroup       =   zhangsan lisi
@androidgroup = lisi
@iosgroup = wangwu <!-- 设置管理员的地方 -->
repo gitolite-admin
RW+ = lisi <!-- 可以用来学习使用 -->
repo testing
RW+ = @all repo web
RW+ = @webgroup
R = fengshuang repo android
RW+ = @androidgroup repo ios
RW+ = @iosgroup

表示新建三个分组:@webgroup、@androidgroup、@iosgroup,新建三个仓库:web、android、ios,RW分别代表读写,可以通过人所属组给人赋权,也可以直接给人赋权,组前记得加@
将以上配置人间中的人的公钥复制到keyDir文件夹
然后回到仓库根目录gitolite-admin下,使用以下命令提交修改:

git add .
git commit -m "add users and repos"
git push

【注意】:开发人员可以git clone仓库的前提是在这个配置文件中进行了授权提交,并且其公钥已经交由管理员提交到keyDir目录中。
简单的权限管理及这么多,基本上够项目使用,更加负责的权限配置,请参阅官方文档。http://gitolite.com/gitolite/

开发人员下载仓库

这里以张三下载web仓库为例

git clone git@host:web.git  <!-- 别忘了后面的.git -->

centos7 安装 gitolite (git服务器)的更多相关文章

  1. GIT-Linux(CentOS7)系统部署git服务器

    GIT-Linux(CentOS7)系统部署git服务器 root账号登录 一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget ...

  2. Centos7安装vsftpd (FTP服务器)

    Centos7安装vsftpd (FTP服务器) 原文链接:https://www.jianshu.com/p/9abad055fff6 TyiMan 关注 2016.02.06 21:19* 字数 ...

  3. CentOS7安装 Apache HTTP 服务器

    CentOS7安装 Apache HTTP 服务器 时间:2015-05-02 00:45来源:linux.cn 作者:linux.cn 举报 点击:11457次 不管你因为什么原因使用服务器,大部分 ...

  4. [转载]Ubuntu安装配置 git 服务器和客户端

    原文地址:Ubuntu安装配置 git 服务器和客户端作者:ding404 1.配置前准备 服务器:安装ssh server另外还装了gitosis做git的权限管理 sudo apt-get ins ...

  5. 在Centos7下搭建Git服务器

    ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...

  6. [转] 怎样在Ubuntu 14.04中搭建gitolite git服务器

    相比gitosis,gitolite的功能更为强大,支持对权限的细分控制,学习一下在最新版 的ubuntu 14.04 LTS中搭建gitolite服务器是非常有必要的,嘿嘿,一会属于我们自己的Git ...

  7. 怎样在Ubuntu 14.04中搭建gitolite git服务器

     1.   首先这里我们安装openssh-serveropenssh-client,如果你用的是VPS之类的一般都默认安装好了,不过运行一个这个命令不会有错的,如果有安装就会提示已安装. sud ...

  8. CentOS安装配置Git服务器(gitosis)

    主要参考: http://blog.csdn.net/dengjianqiang2011/article/details/9260435 辅助参考: http://freeloda.blog.51ct ...

  9. 使用centos7构建本地git服务器

    git的安装非常简单 直接yum install git -y即可 大概看一下我的执行步骤吧 首先在服务器上执行以下操作,完成创建仓库 mkdir -p /data/test/bp.git #创建仓库 ...

随机推荐

  1. ios UITableView中Cell重用机制导致内容重复解决方法

    UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件.上面主要是一个个的 UITableViewCell,可以让UITableViewCell响应一些点 ...

  2. 一些VS2013的使用技巧(转载)

    1. Peek View 可以在不新建TAB的情况下快速查看.编辑一个函数的代码. 用法:在光标移至某个函数下,按下alt+F12. 然后在Peek窗口里可以继续按alt+F12.然后按ctrl+al ...

  3. <link>标签的rel属性全解析

      <link>标签定义了当前文档与 Web 集合中其他文档的关系.link 元素是一个空元素,它仅包含属性.此元素只能存在于 head 部分,不过它可出现任何次数.在 HTML 中,&l ...

  4. 160408、SpringMVC整合Shiro

    第一步:配置web.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 -->  ...

  5. Exchange Database Status(Copy Status ,Content Index State,QueueLength,Move Status...)

    Copy Status Description Mounted The active copy is online and accepting client connections. Only the ...

  6. [iOS微博项目 - 4.3] - 设置每条微博边框样式

    github: https://github.com/hellovoidworld/HVWWeibo A.设置每条微博边框样式 1.需求 不需要分割线 每个微博之间留有一定的间隙   2.思路 直接设 ...

  7. uva656 Optimal Programs

    Optimal Programs As you know, writing programs is often far from being easy. Things become even hard ...

  8. Period II---fzu1901(Next数组)

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=1901 给你一个字符串 s 求出所有满足s[i] == s[i+p] ( 0 < i+p < len ...

  9. vue状态管理器(用户登录简单应用)

    技术点:通过vue状态管理器,对已经登录的用户显示不同的页面: 一  vue之状态管理器应用 主要用来存储cookie信息 与vue-cookies一起使用 安装:npm install vue-co ...

  10. MySQL 一些让人容易忽视的知识点

    一下都是MySQL在实际开发中,经常容易让人忽视的点,希望对您有帮助,帮您越过这些坑. 一:MySQL AND优先级大于OR 今天上班时在写一个业务的时候又发现了一个MySQL的问题: 我们的业务是这 ...