使用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. luogu P4408 [NOI2003]逃学的小孩

    题目描述 Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:"喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?"一听说要考试,Chris的父母就心 ...

  2. Linux三剑客之sed流编辑器

    一.功能说明 Sed是Stream Editor(流编辑器)缩写,是操作.过滤和转换文本内容的强大工具.常用功能有增删改查,过滤,取行. 二.语法格式 Usage: sed [options] [se ...

  3. C语言每日一练——第5题

    一.题目要求 选出大于100小于1000的所有个位数与十位数字之和被10除所得余数恰好是百位数字的所有数字(如293).计算并输出上述这些素数的个数cnt以及这些素数值得sum,最后把结果cnt和su ...

  4. django甜甜的弹窗

    GitHub中甜甜的弹窗地址: https://github.com/lipis/bootstrap-sweetalert 直接简单粗暴选择右下角的download,下载到本地一份文件 小猿取经中的相 ...

  5. 《Java知识应用》Java Excel读取(xls、xlsx)和写入

    第一步: 链接: https://pan.baidu.com/s/1emJpl7cpvKZyRMzWccAhJA 提取码: p3a7 复制这段内容后打开百度网盘手机App,操作更方便哦 下载jar包: ...

  6. SpringBoot IoC启动流程、初始化过程及Bean生命周期各个阶段的作用

    目录 SpringBoot IoC启动流程.初始化过程及Bean生命周期各个阶段的作用 简述 首先明确IoC容器是啥 准备-SpringApplication的实例化 启动-SpringApplica ...

  7. [ASP.NET Core 3框架揭秘] 依赖注入[4]:一个Mini版的依赖注入框架

    在前面的章节中,我们从纯理论的角度对依赖注入进行了深入论述,我们接下来会对.NET Core依赖注入框架进行单独介绍.为了让读者朋友能够更好地理解.NET Core依赖注入框架的设计与实现,我们按照类 ...

  8. 2、手写Unity容器--第一层依赖注入

    这个场景跟<手写Unity容器--极致简陋版Unity容器>不同,这里构造AndroidPhone的时候,AndroidPhone依赖于1个IPad 1.IPhone接口 namespac ...

  9. C# format格式对齐

    1.24小时时间格式制定 按照2019-12-10-13-00-00格式输出:string dtnow = string.Format("{0:yyyy-MM-dd-HH-mm-ss}&qu ...

  10. c++-继承的学习

    继承的基本概念 继承和派生 继承概念 派生类的访问控制(继承三种方式.类三种访问控制.三看原则)综合训练 继承中的构造和析构 类型兼容性原则 继承中的构造和析构 继承中同名成员函数.成员变量处理方法 ...