CentOS 5.6下Git服务器安装手记

早就想试试git来管理代码,其所拥有的分布式管理理念非常诱人,最近终于忍不住决定自己架设一个服务器来玩一下。安装过程比较悲剧,中间遇到不少麻烦,特别记录一下以备后忘。

本文要用到的git-1.7.8.tar.gz与zlib-1.2.5.tar.gz下载地址:

免费下载地址在

用户名与密码都是

具体下载目录在 /2012年资料/1月/12日/CentOS 5.6下Git服务器安装手记/

1. 安装git服务器

首先,自然是下载git的源代码。下载完成,安装还是比较简单。

tar zxvf git-1.7.8.tar.gz cd git-1.7.8 ./configure make make install  2. 添加用户

    在服务器添加git用户和git用户组

mkdir -p /data/git groupadd git useradd -g git -d /data/git -s /bin/bash git passwd git #设置git用户密码  #改变git目录权限 chown -R git:git /data/git chmod -R 2755 /data/git  3. 安装gitolite服务

 Gitolite 是一款Perl 语言开发的Git 服务管理工具,通过公钥对用户进行认证,并能够通过配置文件对写操作进行基于分支和路径的的精细授权。  

这个软件这里是用git直接下载下来,再编译安装。这之前需要先生成公钥和私钥,公钥放到git服务器上,建议密钥的文件名为用户名。我不知道为什么ssh-keygen出来的有问题,最后弄了个第三方工具生成的。这耗了我好久,郁闷。

git clone git://github.com/sitaramc/gitolite gitolite/src/gl-system-install gl-setup ~/YourName.pub 

前面算是把环境安装好了,后面的工作就是配置。

4. 服务器端的配置  

这里注意一下,第一个加入的公钥默认就是管理员,如果想改,那么必须再用git clone git@192.168.1.100:gitolite-admin把工程下载,这个格式和scp命令一样,也可以先弄好.ssh/config,然后用简写。

host git      user git      hostname 192.168.1.100      port 22      identityfile ~/.ssh/admin 

    然后修改conf/gitolite.conf文件,再push to upstream提交到服务器生效。如果你丢失了私钥,需要把服务器上gitolite安装目录下的.gitolite和.gitolite.rc给删掉,重新安装该管理软件,就能重新设置管理员用户了。直接在这个配置文件里面添加repo信息,提交后服务器自动生成相应的仓库。

repo    gitolite-admin         RW+     =   enjoybug  repo    testing         RW+     =   @all 

附上一个权限配置文件的详细说明:

C 代表创建。仅在 通配符版本库 授权时可以使用。用于指定谁可以创建和通配符匹配的版本库。  R, RW, 和 RW+ R 为只读。RW 为读写权限。RW+ 含义为除了具有读写外,还可以对 rewind 的提交强制 PUSH。  RWC, RW+C 只有当授权指令中定义了正则引用(正则表达式定义的分支、里程碑等),才可以使用该授权指令。其中 C 的含义是允许创建和正则引用匹配的引用(分支或里程碑等)。  RWD, RW+D 只有当授权指令中定义了正则引用(正则表达式定义的分支、里程碑等),才可以使用该授权指令。其中 D 的含义是允许删除和正则引用匹配的引用(分支或里程碑等)。  RWCD, RW+CD 只有当授权指令中定义了正则引用(正则表达式定义的分支、里程碑等),才可以使用该授权指令。其中 C 的含义是允许创建和正则引用匹配的引用(分支或里程碑等),D 的含义是允许删除和正则引用匹配的引用(分支或里程碑等)。  5. egit的安装与测试

最新版本的eclipse已经默认带有egit了,直接动手配置。

首先,在Preference -> General -> Network Connection -> SSH2中把你自己的私钥加上去。可以在Key management里面试一下私钥密码,这里也可以创建密钥对。

然后,在Preference -> Team -> GIT -> Configuration里面加上user.name和user.email。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswjj.html