网上大牛都说的是安装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. Android Exception 5(startActivityForResult & singleTask)

    昨天碰到一个很诧异的事情,主要内容是1.startActivityForResult(intent2, 302);2.onActivityResult 问题是:onActivityResult调用时间 ...

  2. MVC4 WebApi开发中如果想支持Session请做好如下几个方面的问题

    1.在WebApiConfig中建立建立HttpControllerHandler和HttpControllerRouteHandler 并覆写它 public class SessionRouteH ...

  3. JDBC JdbcUtils( 本博多次出现的简陋工具类)

    package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet;  ...

  4. 使用Eclipse构建Maven项目 (step-by-step) (转收藏)

    Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.本文仅对Eclipse中如何安装.配置和使用Maven进行了介绍.完全step by step. 如果觉得本文 ...

  5. Appium安装过程

    Appium安装过程 先安装了 Node.js.在node的官网上下载的exe安装文件. 在node的command line中执行 npm install -g appium 来安装appium,报 ...

  6. Apache Directory Studio

    Apache Directory Studio 是一个 LDAP 的工具平台,用来连接到任何 LDAP 服务器并进行管理和开发工作.主要功能:LDAP浏览器.LDIF编辑器.嵌入式 ApacheDS. ...

  7. axure rp 8.0

    授权人:University of Science and Technology of China (CLASSROOM) 授权密钥:DTXRAnPn1P65Rt0xB4eTQ+4bF5IUF0gu0 ...

  8. 计算机必知必会:进程process与线程thread 进程定义为一个正在运行的程序的实例

    http://www.nowamagic.net/librarys/veda/detail/1741进程和线程这对概念的理解也是很难的,至今网络上可查的资料对其的理解出入都挺大,在不同的操作系统中,如 ...

  9. atitit.安全的签名摘要 算法attilax总结

    atitit.安全的签名 算法attilax总结 1. MD5 (不推荐)结果是128位二进制,只有转为16进制字符串是32位 1 2. 使用sha1算法加密后的密串长度有40位,相对更安全一些.Sh ...

  10. 我的高效编程的秘诀--开发环境的重要性(IOS)

    我觉得一个好的开发环境,能够让一个开发者的工作效率提高两倍以上,也能够让一个小白看上去不那么蠢: 开发环境不是仅仅安装一个xcode这种ide就OK了,在我看来开发环境的部署范围比較广泛,以下我来说说 ...