网上大牛都说的是安装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

最新文章

  1. js学习进阶中-bind()方法
  2. easyUI在IE浏览器中列表不显示
  3. 准备NOIP2017 最长公共子序列(模版)
  4. WCF----Stream对象限制操作
  5. 20145215《Java程序设计》第2周学习总结
  6. 机器学习与R语言
  7. 学习和使用PHP应该注意的10件事
  8. c语言指针数组与数组指针
  9. 积累的VC编程小技巧之编辑框
  10. ORACLE使用数据泵导入导出部分表
  11. 关于Properties类常用的操作
  12. React+ANTD项目使用后的一些关于生命周期比较实用的心得
  13. react-redux-action
  14. c/c++ 数组 数组的引用,指针数组的引用
  15. [福大软工] Z班 软件工程实践总结 作业成绩
  16. Eclipse启动错误JVM terminated. exit code 1解决方法
  17. poj-1386(欧拉回路)
  18. 让div固定在顶部不随滚动条滚动【转】
  19. python操作浏览器及截图小结
  20. Expo大作战(五)--expo中app.json 文件的配置信息

热门文章

  1. ionic build android 失败 及 解决方案
  2. java 资源文件的读取
  3. oracle 查询本周数据生成下周数据
  4. Hbuilder 常用快捷键
  5. 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。
  6. Windows快捷键命令
  7. web项目的路径问题
  8. 如何在IIS7或IIS7.5中导入导出站点及应用程序池. -摘自网络
  9. atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结
  10. atitit.MyEclipse10 中增加svn插件故障排除