七技术之Git服务器gitolite的搭建及简单操作

最近人比较懒了,为了让自己改变一下,所以决定抽空去学习一些新的技术,对于这些新的技术,目前的要求不是很高,只是要求入门就可以了。

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

环境:

Ubuntu server 14.04.1 、Git 1.9.1 gitolite3

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

下面介绍怎么安装Git服务器gitolite,以及怎么建立仓库、添加用户等操作,本篇文章不会介绍太多的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(也可以是其他的用户名,这里只是方便记忆),该用户用于管理git,包括仓库的创建、git用户的添加等

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

有的系统,只允许特定的用户组(如 ssh 用户组)的用户才可以通过 SSH 协议登录,这就需要将新建的 git 用户添加到 ssh 用户组中。

sudo adduser git ssh

设置密码

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 [email protected]

出现如下内容:

hello git, this is [email protected] 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 [email protected]:gitolite-admin

会在当前目录下面出现gitolite-admin目录。

8 添加git用户

需要在为需要添加的用户生成公钥文件,我这里在mac下面做的测试,在linux中跟上面生成git的ssh key方式一样,在windows中貌似需要使用一个工具msysgit。生成的一对文件,需要将其中的xxx.pub修改为需要添加用户的名字,例如我们想添加的用户名为mxy,需要将id_rsa.pub修改为mxy.pub。下面使用命令复制到gitolite-admin/keydir目录下:

scp <user>.pub [email protected]:gitolite-admin/keydir 将pub公钥拷贝到gitolite-admin仓库

然后在git服务器的对应目录中查看是否已经存在对应的文件。

到这里用户只是添加了一部分,真正添加完成继续往下看。

9 添加仓库

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

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

上面的repo代表是创建了一个demo仓库(创建的方式有很多种,这里我只是介绍这一种),下面的RW代表可读写,还有其他的关键字,自己搜索。等于号后面的代表是对于这个仓库的权限,多用户使用空格隔开。

10 将配置推送到gitolite服务器

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

在gitolite-admin目录下执行如下命令

git add .

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

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

解决方式如下(当然最后的配置需要根据自己的实际情况填写):

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

11 测试是否搭建成功

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

上面[email protected],这个git指的是管理git的用户,后面的ip指的是git服务器的ip,如果我们能够把democlone下来了,那说明成功了

七技术之Git服务器gitolite的搭建及简单操作

时间: 2024-10-23 15:02:43

七技术之Git服务器gitolite的搭建及简单操作的相关文章

ttserver搭建及简单操作

Tokyo Cabinet 是一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍.利用Tokyo Tyrant构建兼容Memcached协议.支持故障转移.高并发的分布式key-value持久存储系统.key-value分布式存储系统查询速度快.存放数据量大.支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询. Tokyo Tyrant 是由同一作者开发的 Tokyo

git服务器gitlab之搭建和使用

git服务器比较有名的是gitosis和gitolite,这两个管理和使用起来稍微有些复杂,没有web页面,而gitlab则是类似于github的一个工具,github无法免费建立私有仓库,并且为了代码安全,于是在内网安装了一个自己实验室的一个git服务器,多方比较,选择了gitlab,gitlab有很多依赖,而bitnami制作了一键安装的包,下载链接:https://bitnami.com/redirect/to/37478/bitnami-gitlab-7.0.0-0-linux-inst

git服务器gitlab之搭建和使用【转】

转自:http://blog.csdn.net/zy416548283/article/details/38057925 git服务器比较有名的是gitosis和gitolite,这两个管理和使用起来稍微有些复杂,没有web页面,而gitlab则是类似于github的一个工具,github无法免费建立私有仓库,并且为了代码安全,于是在内网安装了一个自己实验室的一个git服务器,多方比较,选择了gitlab,gitlab有很多依赖,而bitnami制作了一键安装的包,下载链接:https://bi

Git和Github的介绍、简单操作

目的:   1.git与github简介  2.Git与SVN区别 3.Github 的简单使用 4.下载安装Git-20-64-bit.exe   5.Git常用命令 5.1Git命令使用场景 5.2常用命令 5.3实践操作:使用git提交文件至远程仓库 Git与Github简介 Git简介:Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目 版本控制器: CVS/SVN/Git SVN: 客户端/服务器 GIT: 客户端/代码托管网站(例如:github) 注

ES的搭建及简单操作

成功界面图: 使用ES注意事项: 1.es版本2.x以上需要JDK 1.8以上 2.运行es不能使用root用来来运行 3.es目录必须指定一个普通用户和组(授权) 4.es对内存和CPU的消耗比较高 5.es版本在5.X以上系统要求至少要能够开启2048个线程才可以启动,系统版本使用CENTOS7才可以 6.es使用的端口看开放iptables:9200,9300等 7.es配置其他插件实现资源等可视化监控 8.es的版本和插件之间版本要匹配 9.es集群配置,第一节点配置好scp到其他节点即

git服务器搭建post-receive 钩子部署服务端代码

一.git服务器搭建(服务器用户:root) 安装git $ apt-get install git 创建git用户 $ adduser git$ passwd git //修改git用户密码 创建git仓库 $ cd /home$ mkdir git$ mkdir ./git/.ssh$ touch./git/.ssh/authorized_keys$ cd /home/git$ git init --bare test.git //初始化仓库$ chown -R git:git ../git

redhat搭建git服务器

以创建puppet仓库为例搭建git服务器 一.搭建git服务器 1.在服务器安装git包 #yum install git git-daemon 2.在服务器上创建专用账号,所有用户都通过此账号访问git库.选择git作为专用账号,并为账号设置密码.(也可以在配置完git服务后,可以将git修改为只允许公钥认证,以加强安全性.) #adduser -s /bin/bash git #passwd git 3.初始化puppet服务端git仓库,创建/git目录,并再/git目录下创建puppe

git服务器搭建(1)

搭建git服务器: 首先要选择搭建git时的协议,在文档里有三种协议      1.本地协议:就是多人使用一台电脑,就是使用不同的账号登录同一台电脑,使用共享文件来同时进行操作,很危险.因为你的所有代码版本库如果长存于同一台电脑,更可能发生灾难性的损失.使用命令为: 1 $ git clone /opt/git/project.git 注意:因此本地协议常见于团队每一个成员都对一个共享的文件系统(例如一个挂载的 NFS)拥有访问权,通过共享文件夹避免多人使用一台电脑的缺点(单点问题). 使用本地

如何架设Git服务器

转:http://my.oschina.net/fgq611/blog/157653 目录[-] 1. 架设Git服务器 2. 搭建Gitweb 3. Push之后发送邮件通知 4. 参考链接 在开发的过程中往往需要一个git服务器来管理和保存代码,如何自己架设一个git服务器呢,方法很简单,这里介绍一下如何架设git服务器,搭建gitweb和push代码之后发送邮件通知组内成员. 1. 架设Git服务器 我们以Ubuntu为例.首先,在git服务器上创建一个名为 'git' 的用户,并为其创建