在CentOS上安装Git

yum install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc autoconf make openssl-devel perl-CPAN


wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz


tar xzvf git-latest.tar.gz

cd git-2012-06-17/  (查看解压出来的文件夹)


安装

autoconf

./configure --with-curl=/usr/local


make && make install


查看版本号,确实git是否安装成功

git --version


指定用户名和电子邮件地址

git config --global user.name “GIT Admin”

git config --global user.emal test@test.com


2.安装gitosis

yum install  python python-setuptools

git clone git://github.com/res0nat0r/gitosis.git

cd gitosis

python setup.py install

 

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

#不需要密码,一路回车就行(在本地操作)

ssh-keygen -t rsa

 

# 上传你的ssh public key到服务器

scp ~/.ssh/id_rsa.pubroot@xxx:/tmp/

 

4.初始化gitosis

# 新增一个git用户

adduser git

passwd git

 

# 切换倒git用户下

su - git

 

# id_rsa.pub是刚刚传过来的

gitosis-init </tmp/id_rsa.pub

 

# id_rsa.pub已经无用,可删除.

rm /tmp/id_rsa.pub

 

5.获取并配置gitosis-admin

# 在本地执行,获取gitosis管理项目

git clonegit@xxx:gitosis-admin.git  

 

# 编辑gitosis-admin配置文件

vi gitosis-admin/gitosis.conf  

在gitosis.conf底部增加

[group 组名]

writable = 项目名

members = 用户  # 这里的用户名字 要和 keydir下的文件名字相一致

 

# 要记住的是,每次添加新文件必须执行git

git commit -a -m “xxx xx” add .,或者gitadd filename,如果没有新加文件,只是修改的话就可以执行此句。

#修改了文件以后一定要PUSH到服务器,否则不会生效。

git push

 

新建项目

到此步就算完成gitosis的初始化了。接下来的是新建一个新项目到服务器的操作,如第5步中配置gitosis.conf文件添加的是

[group project1] # 组名称

writable = project1 # 项目名称

members = xxx # 用户名xxx为[group gitosis-admin]中的members一样

# 记得执行

git commit -a -m “添加新项目project1“

git push

 

# 进入到项目目录

# project1要与gitosis.conf文件配置一致

cd /home/用户/project1

 

#  .gitignore可以将你不需要上传的文件无视掉

vi.gitignore

config/database.yml 
Gemfile.lock 
Gemfile.local  

 

#git初始化

git init

 

# 新增文件 留意后面有一个点

git add .

 

# 然后就到把这个项目放到服务器上去

git commit -a -m “初始化项目project1″

git remote add origingit@xxx:project1.git # xxx为服务器地址

git push origin master

# 也可以把上面的两步合成一步

git push git@xxx:project1.gitmaster

 

三、常见问题

首先确定 /home/git/repositories/gitosis-admin.git/hooks/post-update 为可执行即属性为 0755

1. git操作需要输入密码

原因

公密未找到

解决

上传id_pub.rsa到keydir并改为'gitosis帐号.pub'形式,如miao.pub。扩展名.pub不可省略

2. ERROR:gitosis.serve.main:Repository readaccess denied

原因

gitosis.conf中的members与keydir中的用户名不一致,如gitosis中的members =foo@bar,但keydir中的公密名却叫foo.pub

解决

使keydir的名称与gitosis中members所指的名称一致。
改为members = foo 或 公密名称改为foo@bar.pub

 




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值