gitGIT是分布式源代码管理系统,作用大家都懂的。版本控制系统经历CVS、SVN,现在到了Git的世界。Git与CVS,SVN相比有很多的优势,其中最为人津津乐道的就是branch的切换都是在本地执行,速度非常之快,非常利于分布式开发进程。现在也是开源世界了最流行的版本控制系统。

GitHub提供免费的Git server,但是它仅仅针对Public的repository是免费的,如果你想有你个人的Git repsotories,就需要交费了。但是,如果有需要建立个人Git repsotories,又不想交费,很简单,自己建立个Server不就完了吗。拿起手头上的Linux VPS开始折腾。

建立Server步骤:
1.安装依赖包
yum installzlib zlib-developensslopenssl-devel perl cpio expat-devel gettext-develexpatgettext -y

2.下载源代码:
http://code.google.com/p/git-core/
我下载的是1.7.9.5

wget http://git-core.googlecode.com/files/git-1.7.9.5.tar.gz
tar zxf git-1.7.9.5.tar.gz
cd git-1.7.9.5
./configure
make
make install

3.gitolite
官网 http://github.com/sitaramc/gitolite

#建立git用户

mkdir -p /home/git
groupadd git
useradd -g git -d /home/git -s /bin/bash git

#修改git用户密码

passwd git

#修改目录权限

chown -R git:git /home/git
chmod -R 2755 /home/git
su git
cd ~
git clone git://github.com/sitaramc/gitolite
cd gitolite

#创建密钥对

ssh-keygen

mkdir -p $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
src/gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
echo "PATH=$PATH:$HOME/bin" >> ~/.bashrc

exit
su git
gl-setup .ssh/****.pub #刚刚设定的密钥对的公钥文件,默认管理员权限
编辑.gitolite.rc文件
$GL_WILDREPOS = 1;

4.管理权限+win下的操作
安装msysgit :http://code.google.com/p/msysgit/
安装过程中一直下一步。
打开%HOMEPATH%下的目录把刚刚生成的私钥放到这里并命名为id_rsa #这是默认调用的密钥

#克隆admin管理库

git clone git@serverip:gitolite-admin.git

修改conf/gitolite.conf配置权限

git add conf/gitolite.conf
git add keydir/*.pub #添加用户在这里添加公钥
git commit -m "conf"
git push

原文摘自:http://www.muscipular.net/Linux/tid-268.html