CentOS 6.2/6.3安装配置Git及Gitosis
04.03.2013 by jiezhou - 0 Comment, Posted in linux1、安装git
因为centos源中已经包含git,而且是较新版本,所有可以直接以下命令安装:
yum install git
2、安装gitosis
yum install python python-setuptools mkdir -p /data/git cd /data/git git clone git://github.com/res0nat0r/gitosis.git cd gitosis python setup.py install
3、客户端配置
在客户端生成密钥(windows请先安装msysGit,然后在git bash里执行)
ssh-keygen -t rsa
通过scp或者ftp上传密钥到服务端/tmp目录
scp ~/.ssh/id_rsa.pub USER@YOUR_SERVER:/tmp
这一步操作主要是用来创建git管理员的
4、服务端配置(gitosis)
#创建用户 groupadd git useradd -g git -d /data/git git chown -R git:git /data/git #配置仓库 su git gitosis-init < /tmp/id_rsa.pub
4、管理git(gitosis)
gitosis-admin本身就是一个git库,所以管理起来非常方便。在客户端检出gitosis-admin,就可以进行管理
git clone git@YOUR_SERVER:gitosis-admin.git cd gitosis-admin
你将看到 gitosis.conf 文件和 keydir目录,前者用来配置git服务器项目,后者用来保存客户端的公钥。
我们可以在本地修改配置更改权限,然后push到服务端后,服务器端就立刻生效。
打开gitosis.conf文件,你将看到:
[group gitosis-admin] writable = gitosis-admin members = admin@win
这个是管理组的权限,members中的用户名就是刚才上传的公钥里面的用户名。
在这个文件后面加入:
[group myteam] members = admin@win kevin@mac writable = myproject
这里你定义了一个叫myteam的组,授予admin@win及kevin@mac这两个用户写myproject这个repo的权限
然后将kevin@mac的公钥(如第3步一样生成一个密钥)更名为[email protected]放到keydir目录下,就可以让kevin@mac读写myproject了
git commit -a -m "Allow admin,kevin write access to myprojecy" git push
上面的操作就更新了服务端的权限。
下面就开始创建myprojecy的repo
mkdir myproject cd myproject # 初始化git git init # 创建一个Readme文件 touch README # 添加到索引 git add . # 提交至仓库 git commit -m "initial myproject" # 配置远程参数,将远程地址保存并命名为origin,并设置 git remote add origin git@YOUR_SERVER:myproject.git git config branch.master.remote origin git config branch.master.merge refs/heads/master # 将代码推送给远程 git push origin master
至此,配置完成,kevin@mac就可以通过以下命令获取代码了:
git clone git@YOUR_SERVER:myprojecy.git