网上大牛都说的是安装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: 8682, done.
remote: Total 8682 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (8682/8682), 3.61 MiB | 533.00 KiB/s, done.
Resolving deltas: 100% (4917/4917), 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: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), 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: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), 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
 
3 directories, 2 files

 

6. Git客户端配置

6.1 Windows上git客户端软件安装

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

mysysGit:默认安装,点next下去

TortoiseGit:默认安装,点next下去

 

6.2 密钥对生成及配置

6.2.1 在启动栏找到gitbash

gitolite 服务器搭建

6.2.2  运行gitbash,生成密钥对

gitolite 服务器搭建

6.2.3 启动栏启动Puttygen

gitolite 服务器搭建

 

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

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

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

 

7. 本地clone版本库

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

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

7.2 选择导出目录

gitolite 服务器搭建

7.3 Git相关操作

 

8. 常见问题解决方法

8.1 本地密钥管理机

gitolite 服务器搭建

8.1 打开导入新的密钥

gitolite 服务器搭建

  

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

相关文章:

  • 2021-03-05
  • 2020-02-29
  • 2021-11-30
  • 2021-12-10
  • 2021-09-08
猜你喜欢
  • 2021-11-30
  • 2021-12-10
  • 2021-11-29
  • 2021-11-30
  • 2021-09-09
  • 2018-02-08
  • 2018-09-26
相关资源
相似解决方案