gitolite 服务器搭建
2024-08-27 16:28:14
网上大牛都说的是安装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
10. 参考文献:
最新文章
- js学习进阶中-bind()方法
- easyUI在IE浏览器中列表不显示
- 准备NOIP2017 最长公共子序列(模版)
- WCF----Stream对象限制操作
- 20145215《Java程序设计》第2周学习总结
- 机器学习与R语言
- 学习和使用PHP应该注意的10件事
- c语言指针数组与数组指针
- 积累的VC编程小技巧之编辑框
- ORACLE使用数据泵导入导出部分表
- 关于Properties类常用的操作
- React+ANTD项目使用后的一些关于生命周期比较实用的心得
- react-redux-action
- c/c++ 数组 数组的引用,指针数组的引用
- [福大软工] Z班 软件工程实践总结 作业成绩
- Eclipse启动错误JVM terminated. exit code 1解决方法
- poj-1386(欧拉回路)
- 让div固定在顶部不随滚动条滚动【转】
- python操作浏览器及截图小结
- Expo大作战(五)--expo中app.json 文件的配置信息
热门文章
- ionic build android 失败 及 解决方案
- java 资源文件的读取
- oracle 查询本周数据生成下周数据
- Hbuilder 常用快捷键
- 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。
- Windows快捷键命令
- web项目的路径问题
- 如何在IIS7或IIS7.5中导入导出站点及应用程序池. -摘自网络
- atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结
- atitit.MyEclipse10 中增加svn插件故障排除