在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 ...
随机推荐
- ifeve.com 南方《JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码》
https://blog.csdn.net/defonds/article/details/52598018 多次拉取 JStack,发现很多线程处于这个状态: at jrockit/vm/Al ...
- 微信自定义菜单errcode(40016)
最近在做微信开发,通过微信API创建自定义菜单时候出现:{"errcode":40016,"errmsg":"invalid button size ...
- wxPython制作跑monkey工具(python3)
一. wxPython制作跑monkey工具python文件源代码内容Run Monkey.py如下: #!/usr/bin/env python import wx import os import ...
- ansible 自动化运维
Ansible 自动化运维 ansible安装epel #yum list all *ansible*#yum install *ansible*#yum info ansible#rpm -ql a ...
- python 读fnl数据
(1) FNL 数据介绍 FNL((Final Operational Global Analysis)数据是美国国家环境预报中心(NECP)/美国国家大气研究中心(NCAR)提供的全球再分析资料,空 ...
- 使用find命令查找文件
find命令用法 语法: find (选项) (参数) 常用选项: -exec<执行命令>: 假设find指令的回传值为True,就执行该指令; -ls: 假设find指令的回传值为Tru ...
- 如何将本地git仓库中的代码上传到github
1, 在github上新建一个仓库,比如为:CSS3Test,仓库地址为:https://github.com/hyuanyuanlisiwei/CSS3Test 2,本地git仓库中的文件项目为C ...
- Arch Linux 硬盘引导-联网安装
Arch Linux 硬盘引导-联网安装 ============https://www.archlinux.org/https://wiki.archlinux.org/https://wiki.a ...
- 使用 AppScan 进行扫描
针对大型网站的扫描,我们按照戴明环 PDCA 的方法论来进行规划和讨论,建议 AppScan 使用步骤:计划(Plan).执行(Do).检查(check).分析(Analysis and Action ...
- Http数据协商
一.定义: 客户端发送给服务端请求的时候,声明拿到的数据格式以及相关的限制.服务端根据请求做出判断,返回相应的数据. 二.分类 1.请求 Accept : 想要的的数据类型 Accept-Encodi ...