搭建git服务器和权限管理(git + gitolite)

本文介绍如何在Ubuntu 12系统中安装SSH和Git,并通过Gitolite进行代码仓库权限管理的具体步骤,包括环境搭建、项目创建与克隆、Gitolite安装与配置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:Ubuntu12
1. 安装ssh, git

     ssh:
        apt-get install ssh
    git:
        apt-get install git

2. 创建项目(Demo为例)
     cd 仓库目录
    git --bare init Demo.git
   
3. clone项目
     git clone serverUsername@serverIP:/仓库目录/Demo.git   
4. gitolite权限管理(服务器以gitUser账号为例)
     a.    为什么使用gitolite
        git本身没有权限管理,使用做gitolite权限管理
    b.    下载,安装($HOME为登录用户的目录)
        git clone git://github.com/sitaramc/gitolite
        mkdir bin
        gitolite/install -ln $HOME/bin
    c.    权限配置
        I.  开发端获取id_rsa.pub文件,并上传到服务器
            ssh-keygen
        II. 生成权限控制服务器
            gitolite setup -pk user1.pub (
            会生成$HOME/repositories/gitolite-admin.git,$HOME/repositories/testing.git项目
            gitolite-admin.git:权限管理项目
            testing.git          :测试项目
            其他开发项目可以在$HOME/repositories/目录下创建,通过(git --bare init 项目名.git)
    d.    权限管理
        user1端:git clone serverUsername@serverIP:gitolite-admin.git

        权限管理:配置conf/gitolite.conf

        添加新的用户:keydir目录下添加此用户的id_rsa.pub,修改为此用户的名称

        保存,并提交:git commit -a, git push
        ##如果没有用户有权限,可以配置服务器gitolite-admin.git/gl-conf文件
    e.    账号设置连接权限(git账号为例):
        修改文件/etc/passwd
        git:x:1001:1001:,,,:/home/git:/bin/bash
        改为:
        git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
    f.    查看文件
        git cat-file -p 8a+文件名
        例如:objects/8a/67f6bdb56d59507d09455821dbbe0115cf107f
        命令:git cat-file -p 8a67f6bdb56d59507d09455821dbbe0115cf107f   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值