centos 安装git 服务端

// 在服务端安装好git后,开始安装gitosis

3.在服务器安装gitosis
  sudo yum install python python-setuptools
  cd /usr/local/src
  git clone git://github.com/res0nat0r/gitosis.git
  cd gitosis
  python setup.py install  
  #显示Finished processing dependencies for gitosis==0.2即表示成功
 4.在开发机上,生产密钥并上传到服务器上
  ssh-keygen -t rsa   #一路回车,不需要设置密码
  #上传公钥到服务器(默认SSH端口22)
  scp ~/.ssh/id_rsa.pub fengcongzhi@192.168.44.103:/tmp
  # 登录到git服务器
  ls /tmp/id_rsa.pub  #显示已经上传的密钥
5.服务器上生成git用户,使用git用户并初始化`gitosis`
  # 创建git版本管理用户 git
  sudo useradd -c 'git version manage' -m -d /home/git -s /bin/bash  git

  sudo useradd -c '用户信息描述' -M -d 用户目录 -s shell 用户名

    说明: -c : 相当于描述 

        -m: 使用者目录如不存在则自动建立 (注意 -M 是 不建立使用者目录

        -d : 指定某个目录成为家(用户)目录 

        -s : 使用者登入后使用的shell名称
  # 更改git用户的密码
  sudo passwd git
  # su 到git用户
  su - git
  gitosis-init < /tmp/id_rsa.pub
  #显示以下信息即表示成功
  #Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
  #Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
  #删除密钥
  rm -rf /tmp/id_rsa.pub
  6.在个人开发机上导出项目管理
  mkdir -p /repo
  cd /repo
  git clone git@192.168.44.103:gitosis-admin.git

  如果这个方式找不到的话,可以使用服务器的全路径,git clone git@192.168.44.103:/home/git/repositories/gitosis-admin.git

  7.在个人开发机增加及设置管理项目
  cd repo/gitosis-admin
  # 查看git服务器已经上传密钥
  ls keydir  
  cat keydir/fengcongzhi@localhost.pub  

  #fengcongzhi@localhost.pub为已经上传的开发机生成的公密

  #显示密钥 最后的字符串为 密钥用户名 这里为 ltl@jackliu-ThinkPad
  vim gitosis.conf
  #在文件尾增加以下内容
  [group test-git]            # 具有写权限的组名称
  writable = test-git         # 该组可写的项目名称
  members = ltl@jackliu-ThinkPad  guangyun.ni@yeepay.com     #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔

  # 如果要增加只读的组 参考如下
  # [group test-git-readnoly]          # 具有都权限的组名称
  # readonly = test-git                # 该组只读的项目名称
  # members = ltl@jackliu-ThinkPad     # 该组的成员
  #提交修改
  git add .
  git commit -a -m "add test-git repo"
  git push
  8.在个人开发机上初始,增加及使用项目test-git
  cd ~/repo  
  mkdir test-git   
  cd test-git  
  git init  
  touch readme  
  git add .   
  git commit -a -m "init test-git"  
  git remote add origin git@192.168.44.103:test-git.git  
  git push origin master  
  9.增加协同开发者的公钥key到git服务器  
   - 执行`cd repo/gitosis-admin/keydir`切换目录
   - 把协同开发者的id_rsa.pub 文件里的数据 拷贝到 对应的开发者的`密钥用户名.pub`文件。如把密钥用户名 guangyun.ni@yeepay.com 的 id_rsa.pub 文件中  文本 粘贴到 guangyun.ni@yeepay.com.pub 文件里,并保存
   - 然后将添加数据后的目录更新到git服务器
   git add .  
   git commit -am "add guangyun.ni@yeepay.com.pub file"  
   git push origin master  

  

原文地址:https://www.cnblogs.com/ytfcz/p/3496007.html