使用tortoise git管理gitolite版本库
gitolite-admin是用于管理git版本库的版本库,将其从服务器上clone下来。
使用tortoise git clone的时候需要指定私钥,私钥的格式是ppk的,需要使用putty的PUTTYGEN.EXE工具将其转换为ppk格式的。
如上图,clone的时候,勾选load putty key,即可指定ppk的路径。
clone完成之后,可以看到gitolite-admin 目录下有两个目录conf/ 和 keydir/。
其中keydir中存放用户的公钥,公钥文件的名字就是用户名。
如果想增加一个叫做test的用户,那么就生成一对密钥,然后将公钥命名为test.pub,并放到keydir中,然后提交到master然后push到服务器的gitolite-admin中。
conf目录下的gitolite.conf用于控制用户的权限。下面是它默认的内容:
#gitolite conf
# please seeconf/example.conf for details on syntax and features
repo gitolite-admin
RW+ = git
repo testing
RW+ = @all
repo所在的行表示权限控制操作所针对的版本库,repo和版本库名称使用空格分开。
之后的行表示不同的用户或者组对该版本库所具有的权限。
上面文件中的内容表示git用户对gitolite-admin版本库有读写的权限,testing所用用户对testing版本库有读写权限。
如果要将相同的权限分配个多个用户,可以在等号右边以空格分隔填写多个用户名。如“RW+ = git test”表示git和test用户对该版本库有读写权限。更好的做法是将用户划分为组,用户组以@开头,系统提供了一个默认的组@all用于表示所有用户。分组的语法为 “组 = 用户1 用户2”,需要将分组配置喜写到配置文件的开头。
下面是将test和git用户划分到管理员组。
@admin = test git
为组划分权限和为用户划分权限的语法一样,如“RW+ = @admin @all”表示admin组和all组的用户可以读写某版本库(实际中不需要这么写,all包含了admin)。
如果要在服务器上创建版本库,只需要经本地的版本库push到服务器上即可。但是首先要修改gitolite.conf文件,为服务器上即将创建的版本库指定创建权限。
repo test-repo
C = test
RW+ = test
上面的语句表示,test用户有权在服务器上创建版本库test-repo,并且有权读写它。gitolite.conf push到服务器之后,就可将本地的test-repo push到服务器的test-repo了。
在push之前首先要设置push的目标。设置方法如下
选中版本库配置节点的Git/remote节点,然后在右侧填写push的目标,然后点击“Add New/Save”。修改push的目标也是这整个页面进行的。
上面那个url需要特别说明一下,git@server:test-repo分为了三部分,git表示服务器上运行gitolite的用户;server表示服务器的地址,一般用ip或者域名替代;test-repo就是版本库在服务上的相对路径。这里直接写上了版本库的名称表示版本库放到服务器上的repositories目录中。
使用tortoise git管理gitolite版本库的更多相关文章
- 学习笔记--Git安装 创建版本库 图文详解
		
一.Git下载 在Windows上安装git,一般为msysgit,官网地址:http://git-scm.com/ 我下载的是Git-1.9.2-preview20140411.exe 二.Git安 ...
 - Git教程--Git安装和版本库的创建
		
Git的诞生 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大是靠全世界热 ...
 - Git入门——本地版本库操作
		
作为一个一直用SVN的家伙,深深地感到了自己在版本控制工具上的落伍.... 首先必须强调的是: Git与Github不是一回事. Git是目前世界上最先进的分布式版本控制系统,于2005年被linux ...
 - [git]入门-创建版本库
		
转载整理自:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256 ...
 - git入门 创建版本库, 版本管理 分支 标签
		
参考: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GIT最流行的分布式版本 ...
 - Git(二)使用git管理文件版本(TortoiseGit )
		
一.创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都 ...
 - Git学习--创建版本库
		
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...
 - 『现学现忘』Git基础 — 8、Git创建本地版本库
		
目录 1.Git版本库介绍 2.创建本地版本库 场景一:创建一个空的本地版本库. 场景二:项目中已存在文件时,创建该项目的本地版本库. 场景三:在GitHub网站上创建仓库,克隆到本地. 1.Git版 ...
 - Git学习之路(2)-安装GIt和创建版本库
		
▓▓▓▓▓▓ 大致介绍 前面一片博客介绍了Git到底是什么东西,如果有不明白的可以移步 Git学习之路(1)-Git简介 ,这篇博客主要讲解在Windows上安装Git和创建一个版本库 ▓▓▓▓▓▓ ...
 
随机推荐
- docker 容器数据管理
			
给容器添加一个数据卷 sudo docker run -d -P --name web -v /webapp training/webapp python app.py 可以在Dockerfile中使 ...
 - C#使用Monitor类、Lock和Mutex类进行多线程同步
			
在多线程中,为了使数据保持一致性必须要对数据或是访问数据的函数加锁,在数据库中这是很常见的,但是在程序中由于大部分都是单线程的程序,所以没有加锁的必要,但是在多线程中,为了保持数据的同步,一定要加锁, ...
 - BootStrap2学习日记22---点击展开
			
先看效果: Code: <div class="accordion" id="accordion2"> <div class="ac ...
 - 基于 Equinox 的 OSGi Console 的研究和探索
			
自定制 OSGi Console 进行组建和服务生命周期管理模块化编程的好处已经很好地被理解了约 40 年,但在 OSGi 之前,开发人员不得不自己发明模块化设计和系统.随着软件应用体系结构的不断发展 ...
 - java cpu load
			
$ps -Lp 179093 cu | more USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND admin 17909 ...
 - 【python,logging】python中的logging模块
			
本文章转自kenby的博客,比较全面易懂,转来留作以后使用. http://kenby.iteye.com/blog/1162698 一.从一个使用场景开始 import logging # 创建一个 ...
 - asp.net小结
			
ASP.net是是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,主要用于WEB开发,与我们以前接触CS开发相比,虽然相似点不少,但不同点也是有很多的,我来简单的总结一下. 一.控件 A ...
 - HTML超出文本显示省略号...[text-overflow]
			
需要对div或者span同时应用Css: text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 即可实现所想要得到的溢出文本显示省略 ...
 - 转: android app进程保活的文章列表
			
1. Android 后台任务型App多进程架构演化 http://www.jianshu.com/p/4ac1f373e8cd 2. 关于 Android 进程保活,你所需要知道的一切 http:/ ...
 - C之文件读写
			
1.fopen() fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此 ...