CentOS6.4下Git服务器Gitosis安装配置

时间:2023-03-09 01:59:03
CentOS6.4下Git服务器Gitosis安装配置

1、安装GIt:

#yum install git

2、增加一个git用户

#useradd git

#passwd git

3、创建git仓库存储目录,设置权限

#mkdir /home/git/repositories                    设置git仓库目录

#chown -R git:git /home/git

#chomd -R 755 /home/git/repositories    赋予可执行权限

4、初始化全局变量

#git config --global user.name "username"  设置全局name

#git config --global user.email "username@email.com"  设置全局email

5、Gitosis需要python支持

#yum install python-setuptools

6、安装Gitosis

#cd /home/git

#git clone https://github.com/res0nat0r/gitosis.git

#cd gitosis

python setup.py install   安装gitosis

7、生成客户端的公钥

打开Git-Bash

$ssh-keygen -t rsa       生成用户公钥和私钥

将公钥id_rsa.pub上传到CentOS服务器tmp目录   设置权限为git可读写

 8、配置gitosis

#su - git

$gitosis-init < /tmp/id_rsa.pub

#su - root

#chomd -R 755 /home/git/repositories/gitosis-admin.git/hooks/post-update  设置权限

#chown -R git:git /home/git

9、管理gitosis配置

客户端下

$get clone git@serverIP:gitosis-admin.git        clone下gisosis-admin项目来进行管理

$cd gitosis-admin

$vi gitosis.conf

例子如下:

[gitosis]

[group gitosis-admin]

writable = gitosis-admin

members = a@server1

[group developers]

writable = helloworld

members = a@server1 b@server2

如果要增加b用户,则需要将b的公钥拷贝到gitosis-admin/keydir/下,更改为相应的名字,如b@server2的公钥名字为b@server2.pub

$git add .

$git commit -am "add helloworld project and user b"           加入修改说明

$git remote add origin ssh://git@serverIP:helloworld.git

$git push origin master 提交给服务器

完成gitosis-admin配置

10、创建helloworld项目

客户端GIT-BASH

$mkdir helloworld

$git init --bare          初始化该项目

$git add .                 添加整个项目

$git commit -am "init the project"          提交修改

$git remote add origin git@serverIP:helloworld.git    添加远程仓库

$git push origin master push到服务器

初始化helloworld项目完成,此时登陆服务器,可看到/home/git/repositories/helloworld.git项目

11、用户b可以操作helloworld项目了

$git clone git@serverIP:helloworld.git

$.....                   用户操作

$git add .

$git commit -am ""

$git push    提交给服务器