早就想试试git来管理代码,其所拥有的分布式管理理念非常诱人,最近终于忍不住决定自己架设一个服务器来玩一下。安装过程比较悲剧,中间遇到不少麻烦,特别记录一下以备后忘。 1. 安装git服务器
首先,自然是下载git的源代码,地址是http://git-scm.com,但是国内被墙了,只好搞个***去下了。下载完成,安装还是比较简单。
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
RW+ = @all
附上一个权限配置文件的详细说明:
C
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。
最后,自己本地建立个新工程,用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下载最新的版本。然后编译安装,并替换原来的链接即可。
# 安装zlib
tar zxvf zlib-1.2.5.tar.gz