今天尝试在ubuntu上搭建自己的git服务器,先是google了很多关于ubuntu上创建git服务器的东西,资料是一大把一大把的有。但是由于本人是git菜鸟,以前只用过一个git clone的命令,其余都不知道,因此还是走了很多弯路。
git服务器是通过一个gitosis的软件来完成的,这个软件的按照还有一系列的讲究,但是用户可以根据网络资料去安装就可以,没什么特别的。
安装完之后,我将自己理解的如何创建git服务器的流程列写如下:
这个操作会在当前目录下添加一个repositories的文件夹,这个文件夹里面就会保存了你所有的git库的目录。当然可能也有别的文件夹,但是现在对我来说都是浮云。这个文件夹下面有个gitosis-admin.git的文件夹,这个要注意,首先这是一个文件夹,其次这个是系统自带的一个管理员的git库。这也就是需要clone下来的一个库。在第二步中说明。
这个clone的过程可以在任何地方做,命令就是 git clone <git名>@<主机名><gitosis-admin.git的路径> 这个过程需要密码,据说这样可以跳过gitosis对用户权限的检查,密码就是你当前ubuntu下用户的密码。这个库clone了之后,会有一个gitosis.conf的文件,这个文件将用来保存你所有的git库的权限。任何人只要能clone这个库就可以任意修改git库。因此这个库的权限真是很大。
这个很简单,在你需要创建新的git库的时候,那你就直接在repositories的目录下依葫芦画瓢,创建一个XXX.git文件夹。
文件夹创建后,你需要按照约定去运行上面这个命令,这样这个文件夹就有一套git系统了。
这个权限就在步骤2)中的那个git库的修改,也是依葫芦画瓢,在gitosis.conf里面修改权限,然后将用户的公钥拷贝到keydir目录中就行,需要注意的是公钥的名字***.pub需要跟gitosis.conf里面的用户名的名字一样。
完事大吉。