导语:用了这么久的git,总结了下最基本的搭建迁移。
一、软件下载
Gitolite(Git 服务管理工具)下载: git clone
Git下载:
Gitweb下载: git clone
Gitweb样式下载:
二、安装
-
创建Git账号
groupadd git
useradd -g git -d /DATA/git -s /bin/bashgit (将家目录指向gitolite项目目录)
ssh-keygen
-
安装并初始化Gitolite
解压并进入clone下来的gitolite
gitolite/install -to /usr/local/bin/
gitolite setup -pk $HOME/scott.pub (key要以隐藏文件形式指定,默认初始化在家目录下)
git clone git@IP:gitolite-admin
-
使用yum安装http服务,配置Gitweb访问页面
在http.conf中添加如下内容:
ServerName IP
DocumentRoot /var/www/gitweb
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
ErrorLog logs/gitweb-error_log
CustomLog logs/gitweb-access_log common
并修改启动用户为git
(nginx的没搞出来,官方给的例子是apache的)
-
安装Gitweb
解压并进入clone下来的Gitweb,使用下面命令安装项目
cd git/ ; make GITWEB_PROJECTROOT="/opt/git" prefix=/usr gitweb ; cp -Rf gitweb /var/www/
-
Gitweb样式优化
解压进入clone下来的gitweb-theme
修改setup文件,修改target目录至Gtiweb项目目录
最后执行脚本安装:./setup -vi –install
-
启动Git://协议,否则只能使用git@方式操作项目
git daemon --reuseaddr --base-path=/home/git
至此安装完成。
三、迁移
-
进入Gitolite初始化后的目录gitolite-admin内,将老项目下的config和keydir内文件全部拷贝过来。
-
git push后 client就有权限做操作了。
-
将原有服务repositories目录打包拷贝至git家目录下。
-
替换gitolite-admin.git目录。
四、Git server 一些特殊配置
master分支写权限限制。
下面是具体配置片段:
repo ad/berry/.+$
C = @ad
- refs/heads/master = //通过‘-’ 去掉其他组员对master分支的权限。更多权限要去参考Gitolite官方文档。
RW+CD = @ad
R = @all
阅读(3109) | 评论(0) | 转发(0) |