centos6(centos7) 安装git和gitosis

 1安装git(如果已安装忽略此步)

  • 卸载旧的git

    yum remove git
  • 安装依赖包

    yum install autoconf curl-devel expat-devel openssl-devel zlib-devel perl-devel
  • 下载源码包

  • 编译安装

    tar -zxvf git-2.9.5.tar.gz
    cd git-2.9.5
    ./configure
    make
    make install  # 需要root权限
  • 制作软链接到/usr/bin

    ln -s /usr/local/bin/git /usr/bin/git
  • 查看版本号

    git --version
    • 输出: git version 2.9.5
  • 删除安装包

    rm -rf git-2.9.5 git-2.9.5.tar.gz

2 新建用户git

  • 我们希望有专门的用户来管理git服务,而不是使用拥有最高权限的root用户
  • 新建用户git,用于运行服务(root用户执行)

    useradd git
  • 为新用户创建密钥等信息(git用户执行)

    su git  # 从root用户转为git
    cd ~    # 实际上为 /home/git
    mkdir .ssh
    chmod 700 .ssh
    cd .ssh
    ssh-keygen -t rsa
    • 会在/home/git/.ssh生成两个文件id_rsa,id_rsa.pub

3 安装gitosis

  • 这是一款非常好用的权限管理工具,具体说明自行搜索
  • 安装python以及python工具,一般默认自带2.7.5,可以照样再执行一遍(root用户执行)

    yum install python python-setuptools
  • 下载安装gitosis(root用户执行  在~(/root)目录下clone)

    git clone git://github.com/res0nat0r/gitosis.git
    cd gitosis
    python setup.py install
    • 最后输出 Finished processing dependencies for gitosis==0.2表示成功

4 配置gitosis

  • 初始化gitosis

    su git
    gitosis-init < /home/git/.ssh/id_rsa.pub
    chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update 
  • 先在服务器上把权限管理工程克隆下来

    su git
    cd ~
    git clone git@127.0.0.1:gitosis-admin.git clone_gitosis-admin
  • 在clone_gitosis-admin目录中有两个文件
    • gitosis.conf: 配置权限
    • keydir: 存放用户公钥
  • 将自己电脑的密钥文件id_rsa.pub上传到keydir目录中,并命名,比如我自己电脑上的公钥命名为lvshuo.pub

配置gitosis.conf文件(新加lvshuo)

[gitosis]

[group gitosis-admin]
members = git@localhost.localdomain lvshuo
writable = gitosis-admin

在clone_gitosis-admin目录提交

git add -A&git commit -am 'tijiao lvshuo'&git push origin master


本地就克隆版本库 和提交代码到版本库了

例如 git@192.168.223.138:gitosis-admin.git


---------------------------------------------------------------------------------------------

创建一个新git库
#cd /home/git/repositories/
#mkdir testgit.git
#cd testgit.git
#git --bare init
#git config receive.denyCurrentBranch ignore
#chown -R git:git /home/git/repositories/testgit.git


修改/home/git/clone_gitosis-admin下的gitosis.conf
底部添加

[group testgit]
members = git@localhost.localdomain lvshuo 
writable = testgit



保存 提交到git
#git add -A&git commit -am 'add testgit lvshuo'&git push origin master

本地就克隆testgit版本库 和提交代码到testgit版本库了
例如 git@192.168.223.138:testgit.git


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值