安装git服务器

来源:互联网 发布:发那科攻丝编程g84 编辑:程序博客网 时间:2024/06/10 13:02

作者:zhangxh1013

转自:http://blog.csdn.net/zhangxh1013/article/details/7344799


1. 安装git服务器

    首先,自然是下载git的源代码,地址是http://git-scm.com,但是国内被墙了,只好搞个VPN去下了。下载完成,安装还是比较简单。

   1. tar zxvf git-1.7.8.tar.gz 
   2. cd git-1.7.8 
   3. ./configure 
   4. make 
   5. make install 

2. 添加用户

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

   1. mkdir -p /data/git 
   2. groupadd git 
   3. useradd -g git -d /data/git -s /bin/bash git 
   4. passwd git #设置git用户密码 
        5.  -
        6. #改变git目录权限 
   7. chown -R git:git /data/git 
   8. chmod -R 2755 /data/git 

 
3. 安装gitolite服务

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

gitolite下载
  http://download.chinaunix.net/download/0014000/13117.shtml
tar -xjf gitolite-2.3.tar.bz2 
su - git
   1. git clone git://github.com/sitaramc/gitolite 
   2. gitolite/src/gl-system-install 
   3. gl-setup ~/YourName.pub 


前面算是把环境安装好了,后面的工作就是配置。
4. 服务器端的配置  

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

   1. host git 
   2.      user git 
   3.      hostname 192.168.1.100 
   4.      port 22 
   5.      identityfile ~/.ssh/admin 

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

   1. repo    gitolite-admin 
   2.         RW+     =   enjoybug 
    3.  
   4. repo    testing 
   5.         RW+     =   @all 

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

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

5. egit的安装与测试

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

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

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

    最后,自己本地建立个新工程,用share project先提交,这里其实只是提交到本地的git仓库,要提交到服务器端,还要push一次。下载就直接import,只要配置对,这步基本没难度。

6. 警报的处理

    第一次提交就发现有警告,虽然不影响,但是每次提交都会看到,甚是心烦。

 git: /usr/lib64/libz.so.1: no version information available (required by git)

    找了一圈资料,最后总算是解决了。这个主要是zlib包的1.2.3版本有点问题,需要升级即可。用ldd /usr/local/bin/git就能看到是所链接的库出的错。解决办法就是到http://zlib.net/zlib-1.2.5.tar.gz下载最新的版本。然后编译安装,并替换原来的链接即可。

   1. # 安装zlib 
   2. tar zxvf zlib-1.2.5.tar.gz 
   3. cd zlib-1.2.5 
   4. ./configure 
   5. make 
   6. make install 
   7. # 替换成最新版本 
   8. cp /usr/local/lib/libz.so.1.2.5 /lib64/ 
   9. rm -f libz.so.1 
  10. cp -l libz.so.1.2.5 libz.so.1 


参考资料:
1. gitolite官方文档,相当简约:http://sitaramc.github.com/gitolite/
2. 一个写的比较简洁的安装步骤:http://surpass-li.iteye.com/blog/1052311
3. 一个写的很细的文档:http://www.ossxp.com/doc/git/gitolite.html
4. 《pro git》的在线电子书:http://progit.org/book/

原创粉丝点击