服务器:192.168.3.5(ubuntu)
客户端:192.168.3.6(window或者linux)
Step1. 安装配置Git服务器
$sudo apt-get update$ sudo apt-get install openssh-server$ps -e | grep ssh(查看ssh安装是否成功)$ sudo apt-get install git git-core
新建用户git,该用户作为所有代码仓库和用户权限的管理者。
$ sudo groupadd git
$ sudo useradd git –g git –m -d /home/git -s /bin/bash
$ sudo passwd git (需要设置用户git的密码)
Step2. 安装gitosis
初始化服务器的全局设置,为安装gitosis做准备。在任何一台机器(这里我在192.168.3.6)上使用git,第一次必须要先设置user.name和user.email。
$ git config --global user.name “renhua”
$ git config --global user.email “renhua@server-pc”(name和email随意)
安装一下python的setup tool。
$ sudo apt-get install python-setuptools获取gitosis包。$ git clone https://github.com/res0nat0r/gitosis.git(或者到网上下载对应的gitosis)$ cd gitosis$ sudo python setup.py installStep3. 配置gitosis
在git管理员的PC上,先安装Git客户端(windows系统),安装后,打开gitbash,运行如下命令生成管理员密钥:
$ ssh-keygen –t rsa
运行以上命令后,可以默认提示直接回车。回车后在当前用户目录下生成了.ssh/id_rsa和.ssh/id_rsa.pub。其中.ssh/id_rsa是私玥,.ssh/id_rsa.pub是公钥。接下来可以使用如下命令将git管理员的公钥上传到git服务器,也可以直接拷贝到git服务器。
切换到git用户下面,初始化git仓库
$su - git
$cd /home/git
$gitosis-init < id_rsa.pub(这个密钥就是上面产生的密钥对里面的公钥)
- 设置权限让gitosis-admin仓库可clone
- #sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
- 客户端:
- 代码仓库在/hoem/git/repositories
-
- # 取出gidosis的管理仓库
- git@192.168.3.5:gitosis-admin.git
- 上面的ppk文件怎么来的?嘿嘿这个暂时就不告诉你了
- 这个时候就可以将管理员的仓库文件克隆到本地了,这个文件是管理所有仓库的,所以非常重要,以后添加新的人员的公钥都会放在keydir这个文件里面
-
设置git仓库权限
$ sudo chown git:git /home/git/repositories
$ sudo chmod 755 /home/git/repositories
$ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
-
git init --bare test.git(添加新仓库test)
-
随便放点文件
-
直接在本地克隆下来就OK了