使用gitolite搭建Git服务器

运行环境

  • Ubuntu18.04

  • gitolite

搭建过程

  1. 安装好Ubuntu18.04系统

  2. 更新系统

    sudo apt update
    sudo apt upgrade
  3. 安装vim

    sudo apt install vim
  4. 安装git

    sudo apt install git
  5. 创建git仓库

    # 创建git用户
    sudo adduser git # 切换到git用户
    su git # 进入git用户目录
    cd ~
  6. 安装gitolite

    git clone https://github.com/sitaramc/gitolite
    
    mkdir -p $HOME/bin
    
    gitolite/install -to $HOME/bin
  7. 注册仓库管理员

    新建YourName.pub文件,将客户端公钥.ssh/id_rsa.pub复制到里面,然后注册为仓库管理员

    vim YourName.pub                           # 复制客户端公钥内容,按:wq保存退出
    
    $HOME/bin/gitolite setup -pk YourName.pub  # 注册仓库管理员

    也可以在服务器上新建admin用户作为仓库管理员,方便管理

    # 新建管理员用户admin
    sudo adduser admin # 生成SSH公钥
    su admin
    ssh-keygen -t rsa -C "youremail@example.com"
    cp .ssh/id_rsa.pub /tmp/admin.pub # 切换回git用户,将admin用户注册为仓库管理员
    su git
    cd ~
    $HOME/bin/gitolite setup -pk /tmp/admin.pub

    注册管理员后会生成两个文件projects.list, repositories/

    • projects.list保存仓库信息列表

    • repositories/文件夹里有管理员仓库gitolite-admin.git/和测试仓库testing.git/

    • 新建的仓库都会保存在repositories/文件中

  8. 管理远程仓库

    在已经注册过的客户端克隆管理员仓库

    git clone git@host:gitolite-admin

    管理员仓库里有两个文件conf/gitolite.confkeydir/

    • gitolite.conf管理仓库信息

    • keydir/保存git成员的公钥

    添加新成员: 将新成员的公钥保存到keydir/

    新建仓库: 修改conf/gitolite.conf文件,添加newrepo仓库

    repo gitolite-admin
    RW+ = admin repo testing
    RW+ = @all repo newrepo
    RW+ = @all

    添加仓库管理员username

    repo gitolite-admin
    RW+ = admin
    RW+ = username repo testing
    RW+ = @all repo newrepo
    RW+ = @all
  9. 将仓库信息推送到服务器

    在客户端更新完仓库信息后,需要将其推送到服务器才能生效

    git add .
    git commit -m "commit message"
    git push origin master

参考

sitaramc/gitolite

使用gitolite搭建Git服务器的更多相关文章

  1. 使用gitolite进行git服务器搭建

    使用gitolite进行git服务器搭建 https://blog.csdn.net/pan0755/article/details/78460941 使用gitolite搭建,然后需要有个客户端进行 ...

  2. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  3. 如何在服务器上搭建git服务器

    参考文章: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770 ...

  4. 自定义Git之搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  5. 轻松搭建Git服务器(Ubuntu)

    搭建Git服务器 在远程仓库节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业 ...

  6. CentOS搭建Git服务器及权限管理

    声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...

  7. 在Centos7下搭建Git服务器

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

  8. Git -- 搭建git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  9. Git_搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

随机推荐

  1. 基于webpack实现多html页面开发框架八 html引入图片打包和公共页面模块复用

    一.解决什么问题 1.html中img引入的图片地址没有被替换,找不到图片 2.html公共部分复用问题,如头部.底部.浮动层等 二.html中img引入图片问题解决 1.在index.html插入i ...

  2. 趁热来一波,WWDC 2016 iMessage App开发

    转自:http://www.jianshu.com/p/be79b8729bf8 WWDC 2016关于iMessage App的两个视频已经放出(iMessage Apps and Stickers ...

  3. openlayers4 入门开发系列之前端动态渲染克里金插值 kriging 篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  4. windows系统安装git

    一.下载git的安装包 git官网的下载地址:https://git-scm.com/download/win 选择自己的机型进行安装. 二.安装配置 一直点下一步就可以 安装完毕之后,打开电脑命令窗 ...

  5. BZOJ3110[Zjoi2013]K大数查询(树状数组+整体二分)

    3110 [Zjoi2013]K大数查询 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a ...

  6. BGA256芯片植球全过程体验(原创)

    今天工具到位,迫不亟待,需要对手上的BGA256的FPGA芯片进行植球, 该芯片买来的时候是有球的,只是在焊接后,由于电路板故障或焊接问题,需要拆下来芯片,导致球损失,需要重新植球. 一般植球都是将所 ...

  7. 重新精读《Java 编程思想》系列之组合与继承

    Java 复用代码的两种方式组合与继承. 组合 组合只需将对象引用置于新类中即可. 比如我们有一个B类,它具有一个say方法,我们在A类中使用B类的方法,就是组合. public class B { ...

  8. 【docker】使用学习

    [docker]使用学习 目录 =========================================================== 1.docker 安装 2.mysql 安装 3 ...

  9. django----cookie与session 和 中间件

    目录 cookie与session简介及操作 cookie django中操作cookie cookie超时时间 删除cookie session session操作 设置 key value发生了什 ...

  10. SQL-SQL查询检索阶段二

    一 前提准备 先声明一下,下面的库表只是简易的学习示例,不是生产的设计,不要深究,此文我们的目的是学习sql的检索不是库表设计:初学者最好跟着作者的文章一步一步敲一遍,如果没有使用过sql的可以查阅作 ...