首页 > 系统 > Linux > 正文

linux下Git+Gitosis+Gitweb组建多用户版本管理

2024-08-27 23:59:41
字体:
来源:转载
供稿:网友

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(服务器)

  1. yum install python python-setuptools 
  2. git clone git://github.com/res0nat0r/gitosis.git 
  3. cd gitosis 
  4. python setup.py install 

2、生成密钥并上传服务器(管理员机器)

  1. ssh-keygen -t rsa #不需要密码,一路回车就行(在本地操作) 
  2. scp ~/.ssh/id_rsa.pub root@xxx:/tmp/ 

3、初始化gitosis(服务器)

  1. adduser git # 新增一个git用户(先添加用户组 groupadd git) 
  2. su git # 切换倒git用户下 
  3. gitosis-init < /tmp/id_rsa.pub # id_rsa.pub是刚刚传过来的,注意放在/tmp目录主要是因为此目录权限所有人都有定权限的 
  4. rm /tmp/id_rsa.pub # id_rsa.pub已经无用,可删除. 

4、获取并配置gitosis-admin(管理员机器)

  1. git clone git@xxx:gitosis-admin.git  # 切换到root用户并在本地执行,获取gitosis管理项目,将会产生一个gitosis-admin的目录,里面有配置文件gitosis.conf和一个 keydir 的目录,keydir目录主要存放git用户名 
  2. vim gitosis-admin/gitosis.conf  # 编辑gitosis-admin配置文件 

配置说明:

  1. # 在gitosis.conf底部增加 
  2. [group 组名] 
  3. writable = 项目名 
  4. members = 用户  # 这里的用户名字 要和 keydir下的文件名字相一致 
  5. 新增配置后提交git 
  6. git add . 
  7. git commit -a -m 'add user' 
  8. git push origin master 

三、安装gitweb

yum install gitweb

默认安装在/var/www/git,如果通过第一步骤升级了git,会连带升级gitweb,安装目录会改变成/usr/share/gitweb

这块主要影响就是VirtualHost中路径,配置对了网站也就显示出来了。

补充:常用路径

  1. cd .ssh 
  2. cd /etc/httpd/conf/ 
  3. cd /etc/httpd/conf.d/ 
  4. vim /etc/gitweb.conf

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表