git和repo环境搭建

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

cd ~/src git clone git://eagain.net/gitosis.git

Or try "git clone https://github.com/tv42/gitosis.git"

cd gitosis/ python setup.py install --prefix=$HOME cd

因为Git本身没有用户和权限管理的部分,多人协作开发必然涉及,用户管理和目录、文件权限的管理。目前实行的方式有如下两种。 第一种: 采用操作系统的用户和权限进行管理。 优点: 配置简单,只需要共享系统账号就可以了 缺点: 团队人员很多时维护麻烦 第二种:采用ssh进行用户管理只需要共用一个系统账号,其他用户通过公匙进行验证。权限通过第三方的gitosis或者gitolite进行管理。 gitolite是用Perl对gitosis的重写。 gitolite的功能: 只需要一个真实的系统用户 提供多用户访问git(不需要建真实的系统用户没有shell权限) 可以控制多个git库repo级别的读控制和branch/tag/file/directory的写控制,包括回退、新建、删除分支和tag的权限。 可以不用root用户安装 通常是使用sshd,你也可以使用http但这需要root权限。

gitolite和gitosis 在安装完成后都会在本地形成一个和本地相关的clone库,然后通过 git clone 本地库(本地),进行配置。

以下是经过验证的 gitolite的安装

  1. 创建ubuntu用户,通常都使用git作为用户名 sudo adduser git
  2. 修改git的sudo权限 sudo vim /etc/sudoers 在root 下添加 git ALL=(ALL) ALL

    User privilege specification

    root ALL=(ALL) ALL git ALL=(ALL) ALL
  3. 切换到git用户 su git
  4. 安装gitolite sudo apt-get install gitolite
  5. 生成ssh ssh-keygen
  6. 将git的注册为gitolite管理员账号 gl-setup .ssh/git.pub 7.克隆出gitolite-admin git clone git@server:gitolite-admin 就可以进行管理了 总结: 可以不将git注册为gitolite管理员,可以通过上传其他机器的pub到服务器,或者将git的公匙和密匙拷贝到其他机器,就可以远程管理gitolite了

转载于:https://my.oschina.net/hopeMan/blog/178384

你可能感兴趣的:(git,运维,shell)