网上大牛都说的是安装gitolite要建git用户,我看完全没必要,毕竟用户拿到私钥也未必能登录服务器吧。。。下面我们就用root用户来安装gitolite,并且配置版本库文件保存路径。。

1. gitolite安装涉及到几个目录:
/data/gitolite    #git文件保存路径
/data/gitolite/bin    #git安装文件保存路径
gitolite管理用户rsa公钥:git.pub
 
2. ### server requirements
*   any unix system
*   sh
*   git 1.6.6 or later
*   perl 5.8.8 or later
*   openssh 5.0 or later
 
3. 从github上获取最新gitolite版本
[root@servertwiki /data/tmp]# git clone git://github.com/sitaramc/gitolite
Cloning into 'gitolite'...
remote: Counting objects: , done.
remote: Total (delta ), reused (delta )
Receiving objects: % (/), 3.61 MiB | 533.00 KiB/s, done.
Resolving deltas: % (/), done.
Checking connectivity... done.
4. 安装gitolite到/data/gitolite
[git@servertwiki /data/gitolite]$ mkdir bin
[git@servertwiki /data/tmp/gitolite]$ ./install -to /data/gitolite/bin
[git@servertwiki /data/gitolite/bin]$ ./gitolite setup -pk /root/.ssh/GitAdmin.pub
Initialized empty Git repository in /data/gitolite/repositories/gitolite-admin.git/
Initialized empty Git repository in /data/gitolite/repositories/testing.git/
WARNING: /home/forilen/.ssh/authorized_keys missing; creating a new one
(this is normal on a brand new install) 
修改~/.gitolite.rc,修改repositories 存放路径,注意:.gitolite的路径不能改,否则提交的新用户无法clone,因为提交的公钥无法添加到authorised_keys中,
    LOG_EXTRA                       =>  1,
    GL_REPO_BASE                    => "/data/gitolite/repositories",
移.gitolite repositories到/data/gitdata
 
5. 在git.pub所属服务器上clone获得gitolite权限配置文件
root@192.168.100.252:/data/forilen/git# git clone forilen@192.168.100.245:gitolite-admin
Initialized empty Git repository in /data/forilen/git/gitolite-admin/.git/
WARNING: Can't exec "git": No such file or directory at /home/forilen/bin/lib/Gitolite/Common.pm line 146, <DATA> line 1. fatal: The remote end hung up unexpectedly
root@192.168.100.252:/data/forilen/git# git clone forilen@192.168.100.245:gitolite-admin
Initialized empty Git repository in /data/forilen/git/gitolite-admin/.git/
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta )
Receiving objects: % (/), done. [root@servertwiki bin]# ln -sf /data/usr/git/bin/git git
[root@servertwiki bin]# which git
/usr/bin/git #git在git服务器上的唯一路径
[forilen@servertwiki bin]$ ./gitolite setup -pk ../.ssh/key252.pub
Initialized empty Git repository in /home/forilen/repositories/gitolite-admin.git/
Initialized empty Git repository in /home/forilen/repositories/testing.git/
WARNING: /home/forilen/.ssh/authorized_keys missing; creating a new one
(this is normal on a brand new install) root@192.168.100.252:/data/forilen/git# git clone forilen@192.168.100.245:gitolite-admin
Initialized empty Git repository in /data/forilen/git/gitolite-admin/.git/
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta )
Receiving objects: % (/), done.
root@192.168.100.252:/data/forilen/git# ls
gitolite-admin
root@192.168.100.252:/data/forilen/git# tree .
.
└── gitolite-admin
├── conf
│ └── gitolite.conf
└── keydir
└── key252.pub directories, files

6. Git客户端配置

6.1 Windows上git客户端软件安装

内网资源:ftp://192.168.100.252/tools/

mysysGit:默认安装,点next下去

TortoiseGit:默认安装,点next下去

6.2 密钥对生成及配置

6.2.1 在启动栏找到gitbash

6.2.2  运行gitbash,生成密钥对

6.2.3 启动栏启动Puttygen

6.2.4 导入1.2 生成的私钥
 
弹出警告,点【确定】
6.2.5 生成tty格式公钥
 

6.2.6  提交公钥给git服务器管理员

6.2.7 生成的id_rsa.pub重命名为 英文名.pub

7. 本地clone版本库

确认管理员把权限和帐号都配置完成后,才能导出版本库到本地

7.1 本地建立空目录,右键 git clone

7.2 选择导出目录

7.3 Git相关操作

8. 常见问题解决方法

8.1 本地密钥管理机

8.1 打开导入新的密钥

9. 其他:

hook: http://www.tuicool.com/articles/Z7by2y

http://sharadchhetri.com/2013/06/01/how-to-install-own-git-server-with-ssh-and-http-access-by-using-gitolite-and-gitweb-in-centos/

10. 参考文献:

http://www.ossxp.com/doc/git/gitolite.html#id3

gitolite 服务器搭建的更多相关文章

  1. 使用gitolite进行git服务器搭建

    使用gitolite进行git服务器搭建 https://blog.csdn.net/pan0755/article/details/78460941 使用gitolite搭建,然后需要有个客户端进行 ...

  2. 版本控制-Git服务器搭建和常用命令使用

    Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...

  3. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

  4. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  5. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

  6. JAVA服务器搭建之问题总结

    负责维护公司产品的web服务器搭建与维护,最近遇到一下状况,今天在这里简单总结一下,希望对于刚刚一些刚入行的小伙伴有所帮助,避免再走弯路. 第一点:Tomcat内存设置: 一.常见的Java内存溢出有 ...

  7. 烂泥:Postfix邮件服务器搭建之虚拟用户配置

    virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...

  8. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  9. Linux下的SVN服务器搭建

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

随机推荐

  1. 解决github push错误The requested URL returned error: 403 Forbidden while accessing(转)

    github push错误: git push error: The requested URL returned error: 403 Forbidden while accessing https ...

  2. JavaWeb 发送get请求

      JavaWeb 发送get请求 CreationTime--2018年6月20日15点27分 Author:Marydon 1.前提 通过HttpClient来实现 2.具体实现 客户端如何发送请 ...

  3. 41、java与mysql乱码的问题

    解决方法一:(最重要的一种方法)你看下my.ini,有无 [MySQL] default-character-set=utf8 [client] default-character-set=utf8 ...

  4. MySQL-EXPLAIN用法详解

    今天做一个订单任务, 其中需要查有无此订单号信息, 由于订单号是个列表, 所以想检测下如下语句的性能(主要在LIMIT 1上) "订单号 IN (订单号列表)" LIMIT 1 然 ...

  5. Eclipse保存验证JS缓慢

    EclipseSave保存js文件的时候验证JS的时间很长( 使用extjs).Eclipse – Validation – JavaScript Validator 的 Manual和Build都没 ...

  6. cocos2dx 关于lua 绑定的环境配置官方文档翻译与 将自己定义c++方法绑定到lua的的方法

    网上有好多写如何讲自己定义的方法绑定到lua的文章,当中都仅仅对环境配置做了简单的介绍,看到有的帖子写在绑定中遇到了各种各样的error.大部分是因为环境配置不对导致的,下面是官方的文档有标准的说明, ...

  7. HDU 3746 数据结构之KMP

    pid=3746">点击打开链接 题意:给T组数据,每组一个字符串,问最少加入多少个字符能够使这个串变成一个子串连续出现的串 思路:利用KMP的next数组进行变换,next数组保存的 ...

  8. DataGridView添加右键菜单等技巧

    1). 添加一个快捷菜单contextMenuStrip1:2). 给dataGridView1的CellMouseDown事件添加处理程序:  程序代码 private void DataGridV ...

  9. MySQL错误代码大全(史上最全)

    用任何主机语言调用MySQL时可能出现的错误.首先,列出了服务器错误消息.其次列出了客户端程序消息. B.1. 服务器错误代码和消息  服务器错误信息来自下述源文件: · 错误消息信息列在share/ ...

  10. python3.7+opencv3.4.1

    https://solarianprogrammer.com/2016/09/17/install-opencv-3-with-python-3-on-windows/ https://www.cnb ...