在linux上构建gitolite
每台机器生成密钥前要设置邮箱和用户名:
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的更多相关文章
- linux上构建ftp服务器
linux上构建ftp服务器 服务器搭建 https://help.aliyun.com/knowledge_detail/60152.html,可以参考这篇博文. 配置文件详解 进入/etc/vsf ...
- 如何在linux上构建objective-c程序
swfit目前还是os x独占,以后会不会扩展到其他系统还未可知,但objective-c并不只存在于os x,在linux下gcc和clang都支持obj-c哦,下面简单把如何在ubuntu上构建o ...
- 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 ...
- Linux上构建一个RADIUS服务器详解
作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息.但是网络设备通常只支持有限的用户管理功能.学习如何使用Linux上的一个外部RADIUS服务器来验证用户,具体来说是通过一个 ...
- dotnet 在 linux 上构建问题(RID 的问题)
个人理解 一方面 /etc/os-release 中定义的的 ID VERSION_ID 是会与源代码中定义 RID 的相对应,如果不对应,就会报错 The specified RuntimeIden ...
- 【译】在 Linux 上不安装 Mono 构建 .NET Framework 类库
在这篇文章中,我展示了如何在Linux上构建针对.NET Framework版本的.NET项目,而不使用Mono.通用使用微软新发布的 Mocrosoft.NETFramework.Reference ...
- .NET Core初体验 在window上构建第一个app
ASP.NET Core 是一个跨平台,高性能的开源框架,用于构建现代化的,基于云的互联网应用程序.使用 ASP.NET Core ,您可以: 构建Web应用程序和服务,IoT应用程序和移动后端. 在 ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- 在CentOS上构建.net自动化编译环境
我们知道在Windows上我们很容易构建于MSBuild的自动化编译环境,那么在CentOS也是可以的,主要是需要Mono. 在这儿我们选择Jenkins+Gitlab+Mono在C ...
随机推荐
- 微信公众号服务器配置url二次修改
最近微信公众号配置的服务器的域名和云服务到期,就想着更换到别的域名下的服务器:修改的时候出现token验证失败: 我同样的微信签名验证代码在以前服务器上是没问题的,但是修改到新的域名地址时候,总是提醒 ...
- ScrimState.java
/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- Python3.7和数据库MySQL 8.0.12 数据库SQLite3连接(三)
SQLite3 # SQLite3 嵌入式 数据库 python内置SQLite3 # 导入驱动 import sqlite3 # 创建自增主键的表 msql = "create table ...
- 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项。试图加载格式不正确的程序。
异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项.试图加载格式不正确的程序. 解决方法: 点击 ...
- JQuery----操作01
---恢复内容开始--- 一 JQuery选择器: 基本选择器和基本过滤器和筛选选择器 基础选择器: <title>Title</title> <script src=& ...
- 第一次Scrum冲刺——Life in CCSU
一.第一次Scrum任务 首先集体讨论确定全局规划,然后进行切割分工,按照规划实现全部功能.现在基于用户的基本需求做一部分. 二.用户故事 1.用户打开APP,进入登录界面: 2.用户输入账号和密码: ...
- 小妖精的完美游戏教室——buff系统
作者:小妖精Balous,未经作者允许,任何个人与单位不得将此源代码用于商业化项目 #region buff /// <summary> /// 是否魔法免疫,魔法免疫的生物不会受到除自己 ...
- listview 点击时间被拦截
记录下自己所犯的错误,在写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView条目点击事件失效,检查发现百度上有很多不同的答案, ...
- vue的渐进式理解
链接:https://www.zhihu.com/question/51907207/answer/136559185 渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使 ...
- Python实例之抓取淘宝商品数据(json型数据)并保存为TXT
本实例实现了抓取淘宝网中以‘python’为关键字的搜索结果,经详细查看数据存储于html文档中的js脚本中,数据类型为JSON 具体实现代码如下: import requests import re ...