最近,人懒,为了让自己的变化,所以,我决定花时间学习一些新的技术,。对于这些新技术,现在的需求不是很高。只需要在它的入口。

由于本人仅仅是花三四天整出来的东西,所以不洗勿喷,另外难免会有错误,如有还请指出。

环境:

Ubuntu server 14.04.1 、Git 1.9.1 gitolite3

对于Git的介绍这里就不介绍。有兴趣的大家能够自己去网上搜搜。

以下介绍怎么安装Gitservergitolite。以及怎么建立仓库、加入用户等操作,本篇文章不会介绍太多的Git本身的命令,由于我自己有些还没玩清楚,等什么时候玩清楚了,会写文章共享出来。

1 搭建ubuntu环境

我这里使用的是虚拟机安装的ubuntu。我使用的14.04,開始的时候使用的是13.04,可是有些软件包没有。全部就用14.04了。(对于linux是小白。为什么没有可能是没设置对,勿喷)

2 安装Git

首先我们须要安装Git,ubuntu提供了非常方便的安装工具,apt-get,所以我们使用这个工具安装,在命令行中输入以下命令(server版进入就是命令行,假设是desktop版自己搜索进入命令行):

sudo apt-get update

该条命令用于更新apt-get所能安装的软件的资源

sudo apt-get install git

该命令用于安装Git(以下的菱形是乱码)

3 安装openssh-server

sudo apt-get install openssh-server

ssh訪问须要使用openssh-server

4 加入管理用户

加入用户git(也能够是其它的username。这里仅仅是方便记忆),该用户用于管理git,包含仓库的创建、git用户的加入等

sudo adduser --system --shell /bin/bash --group git

有的系统,仅仅同意特定的用户组(如 ssh 用户组)的用户才干够通过 SSH 协议登录。这就须要将新建的 git 用户加入到 ssh 用户组中。

sudo adduser git ssh

设置password

passwd git

5 生成ssh key

git须要使用ssh訪问,所以须要生成一组ssh key。至于ssh訪问的具体介绍。自己搜索去吧。

切换到git用户下

su git

ssh-keygen

cd .ssh

cp id_rsa.pub authorized_keys

6 安装gitolite

在git用户下

mkdir bin  创建bin文件夹用于安装gitolite

从远端克隆gitolite

git clone git://github.com/sitaramc/gitolite

运行例如以下命令进行安装

~/gitolite/install -to ~/bin
mv ~/.ssh/authorized_keys ~/git.pub
~/bin/gitolite setup -pk ~/git.pub

假设例如以下内容说明成功:

7 查看默认仓库

还是在git用户下
ssh git@127.0.0.1

出现例如以下内容:

hello git, this is git@linux-dev running gitolite3 v3.5.2-4-g62fb317 on git1.8.1.2 
  R W    gitolite-admin
  R W    testing
代表gitolite工作正常
安装成功后gitolite会自己主动生成两个仓储,一个是testing.git用来測试,还有一个gitolite-admin就是用来管理gitolite的配置仓储。

将gitolite-admin.git clone到本地,注意:还是在git用户下。由于当前仅仅有git用户对其有读写权限。

git clone git@127.0.0.1:gitolite-admin

会在当前文件夹以下出现gitolite-admin文件夹。

8 加入git用户

须要在为须要加入的用户生成公钥文件,我这里在mac以下做的測试,在linux中跟上面生成git的ssh key方式一样,在windows中貌似须要使用一个工具msysgit。

生成的一对文件,须要将当中的xxx.pub改动为须要加入用户的名字。比如我们想加入的username为mxy,须要将id_rsa.pub改动为mxy.pub。以下使用命令复制到gitolite-admin/keydir文件夹下:

scp <user>.pub git@ip:gitolite-admin/keydir 将pub公钥复制到gitolite-admin仓库

然后在gitserver的相应文件夹中查看是否已经存在相应的文件。

到这里用户仅仅是加入了一部分,真正加入完毕继续往下看。

9 加入仓库

打开gitolite-admin/conf/gitolite.conf文件

将其改动为例如以下内容(vi的命令自己搜。这里基本就用到了i、esc、:wq)

上面的repo代表是创建了一个demo仓库(创建的方式有非常多种,这里我仅仅是介绍这一种)。以下的RW代表可读写,还有其它的keyword,自己搜索。

等于号后面的代表是对于这个仓库的权限,多用户使用空格隔开。

10 将配置推送到gitoliteserver

走到第9步的时候,你是不是以为已经结束了呢。事实上还没有。由于我们的gitolite-admin是clone下来的。这些配置仅仅是保存在我本地的,所以我们还须要将其推送到gitolite的server上。然后才会生效。

在gitolite-admin文件夹下运行例如以下命令

git add .

git commit -m "这个是提交信息,用于表示这次提交的解释。能够随便写“

在这步的时候可能会出现例如以下错误,我们须要配置一下提交信息

解决方案例如以下(当然最后的配置须要依据自己的实际情况填写):

git push origin master  这条命令是推送到server,上面两条仅仅是做的本地提交,对于本地提交自己好好学习一下git就了解了。

11 測试是否搭建成功

使用加入的用户去clone demo库。假设能够clone成功说明基本没问题了,我配置的用户mxy。所以我的命令行例如以下:

上边git@10.211.55.22,这个git它指的是管理git用户。后ip它是指gitserver的ip,假设我们可以把democlone向下,这说明成功

技术七Gitservergitolite要构建和操作方便的更多相关文章

  1. jenkins构建后操作添加“Publish to Subversion repository”与Eclipse更新提交SVN文件冲突

    jenkins配置环境信息: 1.安装“SVN Publisher plugin”插件: 2.在系统管理-系统设置中“Global SVN Publisher Settings” 填写信息:

  2. jenkins构建后操作archive the artfacts的用法

    参考: https://blog.csdn.net/liqiangeastsun/article/details/79062806 Jenkins构建完成存档 Archive the artifact ...

  3. 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)

    构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...

  4. nodejs+phantomjs+七牛 实现截屏操作并上传七牛存储

    近来研究了下phantomjs,只是初涉,还谈不上深入研究,首先介绍下什么是phantomjs. 官网上的介绍是:”PhantomJS is a headless WebKit scriptable ...

  5. 柯南君 :Oracle 分区技术 之 怎样支撑大数据操作?

    前段时间.看了罗女士( 资深技术顾问 - Oracle 中国 顾问咨询部)关于<大批量数据处理技术的演讲>视频.感觉受益良多,结合多年的知识积累,柯南君给大家分享一下: 交流内容: 一.O ...

  6. C#/.net七牛云存储上传图片(文件)操作

    七牛云存储官方: C#SDK(http://developer.qiniu.com/docs/v6/sdk/csharp-sdk.html) 注册成为标准用户就可获得:10GB永久免费存储空间/ 每月 ...

  7. Oracle的闪回技术--闪回错误的DML操作

    提交DML操作后,该操作使用的还原段就可以被其它对象使用了,为了保证闪回操作时这些数据仍然被保存在还原段中,可能需要重新设置undo_retention参数,表示一个事务提交后,该事务的数据必须保存在 ...

  8. jQuery系列 第七章 jQuery框架DOM操作

    第七章 jQuery框架的选择器 jQuery框架继承和优化了JavaScript访问DOM对象的特性,我们使用jQuery框架提供的api可以更加方便的操作DOM对象. 7.1 创建DOM节点 使用 ...

  9. Python+OpenCV图像处理(七)—— 滤波与模糊操作

    过滤是信号和图像处理中基本的任务.其目的是根据应用环境的不同,选择性的提取图像中某些认为是重要的信息.过滤可以移除图像中的噪音.提取感兴趣的可视特征.允许图像重采样等等.频域分析将图像分成从低频到高频 ...

随机推荐

  1. Android在ListView显示图片(重复混乱闪烁问题)

    Android在ListView显示图片(重复混乱闪烁问题) 1.原因分析 ListView item缓存机制: 为了使得性能更优,ListView会缓存行item(某行相应的View). ListV ...

  2. Linux段管理,BSS段,data段,.rodata段,text段

    近期在解决一个编译问题时,一直在考虑一个问题,那就是Linux下可执行程序执行时内存是什么状态,是依照什么方式分配内存并执行的.查看了一下资料.就此总结一下,众所周知.linux下内存管理是通过虚存管 ...

  3. Xsoup 是一款基于 Jsoup 开发的

    Xsoup 是一款基于Jsoup 开发的,使用XPath抽取Html元素的工具.它被用于作者的爬虫框架 WebMagic 中,进行XPath 解析和抽取. 此次更新主要增加了一些XPath语法的支持. ...

  4. Windows编程之非模态对话框

    1  创建非模态对话框 <1>  HWNDCreateDialog(  HINSTANCE hInstance,  // handle to module LPCTSTRlpTemplat ...

  5. c#怎样获取excel单元格的RGB颜色

    这段时间一直在做office的工作.前2天获取单元格的颜色的问题一直没搞明确. 開始我想用的就是Npoi.主要前一部分的工作都是用Npoi完毕的 row.GetCell(j).CellStyle.Fi ...

  6. Lucene全文检索的【增、删、改、查】 实例

    创建索引 Lucene在进行创建索引时,根据前面一篇博客,已经讲完了大体的流程,这里再简单说下: Directory directory = FSDirectory.open("/tmp/t ...

  7. Linux下SVN账户密码保存设置

    Linux下用SVN进行更新等操作时,总是提示输入用户名和密码,很不方便.因此搜了下解决办法,总结如下: 打开SVN配置文件: vim /home/<user>/.subversion/c ...

  8. 在Java中如何使用jdbc连接Sql2008数据库(转)

    我们在javaEE的开发中,肯定是要用到数据库的,那么在javaEE的开发中,是如何使用代码实现和SQL2008的连接的呢?在这一篇文章中,我将讲解如何最简单的使用jdbc进行SQL2008的数据库的 ...

  9. 在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹)

    在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹) 1 列出所有需要copy的sh文件 -bash-4.1$ ll /mysqllog/osw/*.sh ...

  10. swift 新功能介绍

    原文链接:http://www.cocoachina.com/applenews/devnews/2014/0617/8857.html 假设你和我一样,准备好好看看苹果的 Keynote,兴奋地准备 ...