Git是一个版本管理的工具了并且是开源的,现在有不少的程序员喜欢使用它了,下面我们来看linux下Git+Gitosis+Gitweb组建多用户版本管理例子.
二级域名配置
git.dbpoo.com 指向git repositories这个目录 /mnt/git/repositories
gitweb.dbpoo.com 指向 gitweb的目录 /usr/share/gitweb
可以通过apache VirtualHost进行配置.
一、安装Git
centos6.5自带git1.7.1,通过下边的方法可以升级到1.7.12
1、查看服务器版本(服务器)
cat /etc/redhat-release
2、安装RPMForge源并更新git版本(服务器)
根据版本找到你要升级的rmp版本,http://pkgs.repoforge.org/rpmforge-release/,我的CentOS是CentOS-6.5 64位找到最新的版本是http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
通过命令yum –enablerepo=rpmforge-extras provides git找到RPMForge上git最新的源 git-1.7.12.4-1.el6.rfx.x86_64,接下来install即可。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum --enablerepo=rpmforge-extras provides git
yum --enablerepo=rpmforge-extras install git-1.7.12.4-1.el6.rfx.x86_64
通过命令git –version查看到git当前版本号
二、安装gitosis
1、安装gitosis(服务器)
- yum install python python-setuptools
- git clone git://github.com/res0nat0r/gitosis.git
- cd gitosis
- python setup.py install
2、生成密钥并上传服务器(管理员机器)
- ssh-keygen -t rsa #不需要密码,一路回车就行(在本地操作)
- scp ~/.ssh/id_rsa.pub root@xxx:/tmp/
3、初始化gitosis(服务器)
- adduser git # 新增一个git用户(先添加用户组 groupadd git)
- su git # 切换倒git用户下
- gitosis-init < /tmp/id_rsa.pub # id_rsa.pub是刚刚传过来的,注意放在/tmp目录主要是因为此目录权限所有人都有定权限的
- rm /tmp/id_rsa.pub # id_rsa.pub已经无用,可删除.
4、获取并配置gitosis-admin(管理员机器)
- git clone git@xxx:gitosis-admin.git # 切换到root用户并在本地执行,获取gitosis管理项目,将会产生一个gitosis-admin的目录,里面有配置文件gitosis.conf和一个 keydir 的目录,keydir目录主要存放git用户名
- vim gitosis-admin/gitosis.conf # 编辑gitosis-admin配置文件
配置说明:
- # 在gitosis.conf底部增加
- [group 组名]
- writable = 项目名
- members = 用户 # 这里的用户名字 要和 keydir下的文件名字相一致
- 新增配置后提交git
- git add .
- git commit -a -m 'add user'
- git push origin master
三、安装gitweb
yum install gitweb
默认安装在/var/www/git,如果通过第一步骤升级了git,会连带升级gitweb,安装目录会改变成/usr/share/gitweb
这块主要影响就是VirtualHost中路径,配置对了网站也就显示出来了。
补充:常用路径
- cd .ssh
- cd /etc/httpd/conf/
- cd /etc/httpd/conf.d/
- vim /etc/gitweb.conf
新闻热点
疑难解答