红联Linux门户
Linux帮助

centos下应用gitosis搭建git代码仓库

发布时间:2015-09-17 11:18:33来源:linux网站作者:最初的模样

centos折腾了半个月,总算把环境都配置好了,这个git尤其麻烦.

先说明,针对的系统是centos,其它系统不知道,切匆模仿,后果自负!


安装git
 
$  wget http://kernel.org/pub/software/scm/git/git-1.7.2.3.tar.gz 
$  tar -xzvf git-1.7.2.3,tar.gz 
$  cd git-1.7.2.3 
$  ./configure --with-curl=/usr/local 
$  make && make install 
$  git --version  #查看版本号,确实git是否安装成功 


安装gitosis

$  yum install python python-setuptools 
$  git clone git://eagain.net/gitosis.git 
$  cd gitosis 
$  python setup.py install 


在开发机器上生成公共密钥(用来初始化gitosis)

$  ssh-keygen -t dsa   #不需要密码,一路回车就行   
$  scp ~/.ssh/id_rsa.pub root@xxx:/tmp/   # 上传你的ssh public key到服务器


初始化gitosis

$  adduser git  # 会自动生成 /home/git/目录 和 git组 
$  su - git  # 切换倒git用户下 
$  gitosis-init < /tmp/id_dsa.pub   
$  rm /tmp/id_rsa.pub  # id_rsa.pub已经无用,可删除.


获取并配置gitosis-admin:

$  git clone git@someServer.com:gitosis-admin.git  # 在本地执行,获取gitosis管理项目   
$  vi gitosis-admin/gitosis.conf  # 编辑gitosis-admin配置文件 

[group 组名] 
writable = 项目名  
members = 用户  # 这里的用户名字 要和 keydir下的文件名字相一致


接下来就可以初始化你本地的项目并提交倒git服务器了.

$  rails new demo   #  以rails3为例  
$  cd demo && vi .gitignore   #  .gitignore可以将你不需要上传的文件无视掉,比如database.yml、gemfile.lock等   


这是一个例子: 
.bundle 
db/*.sqlite3 
log/*.log 
tmp/**/* 
.rvmrc 
config/database.yml 
Gemfile.lock 
Gemfile.local  

$  git init 
$  git add . 
$  git commit -a -m "Initial import" 
$  git remote add origin git@yourserver.com:projectname.git 
$  git push origin master


CentOS 6.3下使用Gitosis安装搭建Git Server教程:http://www.linuxdiyf.com/linux/10279.html

CentOS 6.5+Git 1.8.3.1+Gitosis构建Git服务器:http://www.linuxdiyf.com/linux/10717.html