Git 服务器 Gitosis 的安装

以ubuntu系统为例,假设在用户 nanxia 模式下
sudo apt-get install openssh-server openssh-client
ssh-keygen -t rsa   #生成用户南侠的ssh-key公钥
sudo apt-get install git-core
sudo useradd -m git
sudo passwd git
sudo mkdir /home/git/repositories   #创建git的仓库目录
sudo chown git:git /home/git/repositories
sudo chmod 755 /home/git/repositories

### 安装pythontools,为Gitosis的安装做准备 ###
sudo apt-get install python-setuptools
git clone https://github.com/res0nat0r/gitosis
cd gitosis/
sudo python setup.py install
cp ~/.ssh/id_rsa.pub /tmp    #把用户 nanxia 的公钥考到/tmp下
sudo -H -u git gitosis-init < /tmp/id_rsa.pub  #将key导入到gitosis中
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update  # 默认权限已经是755,酌情观察进行添加
### 因为nanxia的公钥已经拷入git .ssh的authorized_keys文件中了,故我们直接在nanxia目录下开一个目录进行clone###
git clone git@192.168.89.130:/gitosis-admin.git
# 各个用户按照前面提到的办法生成各自的ssh公钥文件后,服务器管理员把所有人的 ssh公钥文件都拿来,拷贝到keydir目录下
### 此时可以通过编辑 gitosis.conf 文件进行权限定义  ###
vim gitosis.conf     ## To add some config , 修改完毕后进行提交,命令见下
git add .
git config --global user.email "nanxia@lenovo.com"
git config --global user.name "nanxia"
git commit -am "add hello project and users"
git push origin master
配置示例
[group developers]
writable = helloworld
members = a@server1 b@server2
[group test] 
readonly = helloworld
members = c@server3
接下来,我们在 Git repo目录下,新建一个 Hello 项目,步骤如下:
cd /home/git/repositories
git init --bare hello.git
## 此时,Git服务器上创建了一个空项目 hello.git
## 在Git 授权的电脑上,执行
git clone git@192.168.89.130:/hello.git
## 进入 hello ,并创建一个文件,最后push到git服务器上
cd hello
vim README
git add .
git commit -am "add README file in hello project!"
git push origin master

如此,即完成了Gitosis的相关配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值