使用gitolite搭建Git服务器
使用gitolite搭建Git服务器
运行环境
Ubuntu18.04
gitolite
搭建过程
安装好Ubuntu18.04系统
更新系统
sudo apt update
sudo apt upgrade
安装vim
sudo apt install vim
安装git
sudo apt install git
创建git仓库
# 创建git用户
sudo adduser git # 切换到git用户
su git # 进入git用户目录
cd ~
安装gitolite
git clone https://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin
注册仓库管理员
新建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/文件中
管理远程仓库
在已经注册过的客户端克隆管理员仓库
git clone git@host:gitolite-admin
管理员仓库里有两个文件
conf/gitolite.conf和keydir/gitolite.conf管理仓库信息keydir/保存git成员的公钥
添加新成员: 将新成员的公钥保存到
keydir/下新建仓库: 修改
conf/gitolite.conf文件,添加newrepo仓库repo gitolite-admin
RW+ = admin repo testing
RW+ = @all repo newrepo
RW+ = @all
添加仓库管理员
usernamerepo gitolite-admin
RW+ = admin
RW+ = username repo testing
RW+ = @all repo newrepo
RW+ = @all
将仓库信息推送到服务器
在客户端更新完仓库信息后,需要将其推送到服务器才能生效
git add .
git commit -m "commit message"
git push origin master
参考
使用gitolite搭建Git服务器的更多相关文章
- 使用gitolite进行git服务器搭建
使用gitolite进行git服务器搭建 https://blog.csdn.net/pan0755/article/details/78460941 使用gitolite搭建,然后需要有个客户端进行 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- 如何在服务器上搭建git服务器
参考文章: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770 ...
- 自定义Git之搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- 轻松搭建Git服务器(Ubuntu)
搭建Git服务器 在远程仓库节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业 ...
- CentOS搭建Git服务器及权限管理
声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...
- 在Centos7下搭建Git服务器
① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...
- Git -- 搭建git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- Git_搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
随机推荐
- luogu P3984 高兴的津津
题目描述 津津上高中了.她在自己的妈妈的魔鬼训练下,成为了一个神犇,每次参加一次OI比赛必拿Au虐全场.每次她拿到一个Au后就很高兴.假设津津不会因为其它事高兴,并且她的高兴会持续T天(包包含获奖当天 ...
- 基于Java语言的IO操作(文件复制)
public static void main(String[] args) { //获取复制开始前系统时间毫秒值 long start=System.currentTimeMillis(); //文 ...
- HDU4918 Query on the subtree 点分治+树状数组
bobo has a tree, whose vertices are conveniently labeled by 1,2,…,n. At the very begining, the i-th ...
- Golang 在电商即时通讯服务建设中的实践
马蜂窝技术原创文章,更多干货请搜索公众号:mfwtech 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商. 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣.食.住.行等 ...
- idea 上传svn忽略文件
在idea最下面找到Version Control 默认我们svn提交的文件都在Default ChangeList中 我们创建一个新的ChangeList
- 代码检查又一利器:ArchUnit
Code Review总是让人又爱又恨,它可以帮助我们在提测之前发现很多代码中比较"丢人"的问题,但是,Code Review通常会比写代码更加耗费精力,因为你需要理解别人的代码, ...
- Elasticsearch系列---搜索分页和deep paging问题
概要 本篇从介绍搜索分页为起点,简单阐述分页式数据搜索与原有集中式数据搜索思维方式的差异,就分页问题对deep paging问题的现象进行分析,最后介绍分页式系统top N的案例. 搜索分页语法 El ...
- Oracle常用函数(略微少了点 不过是自己稍微整理的)
DECODE DECODE(value ,if 1, then 1,if 2,then 2, ....,else) 解析: if 条件=1 return (value 1) if条 ...
- i++和++i的区别(主要为返回的值的区别)
初学者经常会搞不清i++,和++i 的关系 i++ 是把i的值拿过来,然后再+1++i 是吧i的值直接+1,之后再用
- error: src refspec test does not match any.
我在本地创建了新分支test并提交到github上 错误信息如下: error: src refspec test does not match any. error: failed to push ...