参考网上资料搭建git过程记录如下:
需求
硬件需求:一台Ubuntu,能通过网络访问到。软件需求:git-core, gitosis, openssh-server, openssh-client
1>安装git和openssh:
新加用户git,该用户将作为所有代码仓库和用户权限的管理者:a@server:~$sudo useradd -m git
a@server:~$ sudo passwd git
建立一个git仓库的存储点:a@server:~$ sudo mkdir /home/repo
让除了git以外的用户对此目录无任何权限:a@server:~$ sudo chown git:git /home/repo
a@server:~$ sudo chmod 700 /home/repo
2>安装配置gitosis
初始化一下服务器的git用户,这一步其实是为了安装gitosis做准备。在任何一台机器上使用git,第一次必须要初始化一下(引号里的myname要改成这个用户的名字,我用的是jerry_yu):a@server:~$ git config –global user.name “myname”
a@server:~$ git config –global user.email “myname@server“
安装python的setup tool,这个也是为了gitosis做准备:a@server:~$ sudo apt-get install python-setuptools
获得gitosis包:a@server:/tmp$ git clone
回到git服务器上a@server:/tmp/gitosis$ sudo chmod a+r /tmp/id_rsa.pub
让gitosis运行起来:a@server:/tmp/gitosis$ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
Initialized empty Git repository in /home/repo/gitosis-admin.git/
Reinitialized existing Git repository in /home/repo/gitosis-admin.git/
gitosis的有趣之处在于,它通过一个git仓库来管理配置文件,仓库就放在了/home/repo/gitosis-admin.git。我们需要为一个文件加上可执行权限:a@server:/home/git$ sudo passwd root
a@server:/home/git$ su
root@server:/home/git# cd repositories
root@server:/home/git/repositories# cd gitosis-admin.git/
root@server:/home/git/repositories/gitosis-admin.gi# sudo chmod 755 /home/repo/gitosis-admin.git/hooks/post-update
root@server:/home/git/repositories/gitosis-admin.git# exit
3>在服务器上新建一个测试项目仓库
在服务器上新建一个空的项目仓库,叫“teamwork”。
切换到git用户:
a@server:/home/git$ su – git
$ cd /home/repo
$ mkdir teamwork.git
$ cd teamwork.git
$ git init –bare
$ exit
但是,到目前为止,这只是一个空仓库,空仓库是不能clone下来的。为了能做clone,我们必须先让某个有权限的人放一个初始化的版本到仓库中。
所以,我们必须先修改一下gitosis-admin.