// 在服务端安装好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

  

centos 安装git 服务端的更多相关文章

  1. Centos搭建Git服务端

    首先需要安装git,可以使用yum源在线安装 yum install -y git 创建一个git用户,用来运行管理git服务 adduser git 初始化git仓库(这里我们选择/home/git ...

  2. centos 搭建 git 服务端和客户端

    centos 搭建git需要设置远程服务端和客户端.远程代码存放在服务端,多个客户端可以共享和维护服务端代码. 一.服务端主机 1.创建ssh,大部分默认已经安装,有ssh就跳过 yum instal ...

  3. CentOS 7.4安装telnet服务端

    CentOS 7.4安装telnet服务端 安装xinetd服务 # yum -y install xinetd 安装telnet-server # yum -y install telnet-ser ...

  4. centos 7安装vnc服务端&vnc客户端连接

    前言 工作需求,需要用到vnc,介绍一下相关内容. 安装vnc服务端 在执行其他相关的之前,需要先安装一下vnc的服务端,命令如下: yum install tigervnc-server 配置vnc ...

  5. 多个Linux发行版安装ss服务端

    本文仅做技术探讨,请在遵守相应的法律法规的前提下使用. Centos 7一键安装脚本 简单快捷,随机生成密码,默认端口默认加密类型 bash <(curl -s http://morning.w ...

  6. 编译安装rabbitmq服务端

    有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的.是已经编译好的源码了 下面介绍编译源码安装   总括: 需要以下步骤:   1.安装erlange.因为 ...

  7. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  8. Windows安装VNC服务端

    下载VNC服务端 由于服务器在IDC机房,只能使用系统自带远程桌面连接到服务器进行安装VPC服务端 但在安装过程发现,如果是通过远程桌面连接到服务器进行安装,VNC Mirror Driver会报错无 ...

  9. 【C#】教你纯手工用C#实现SSH协议作为GIT服务端

    SSH(Secure Shell)是一种工作在应用层和传输层上的安全协议,能在非安全通道上建立安全通道.提供身份认证.密钥更新.数据校验.通道复用等功能,同时具有良好的可扩展性.本文从SSH的架构开始 ...

随机推荐

  1. 持久化框架Hibernate 开发实例(一)

    1 Hibernate简介 Hibernate框架是一个非常流行的持久化框架,其中在web开发中占据了非常重要的地位, Hibernate作为Web应用的底层,实现了对数据库操作的封装.HIberna ...

  2. !!无须定义配置文件中的每个变量的读写操作,以下代码遍历界面中各个c#控件,自动记录其文本,作为配置文件保存

    namespace PluginLib{    /// <summary>    /// 遍历控件所有子控件并初始化或保存其值    /// </summary>    pub ...

  3. MySQL5.7表空间加密

    MySQL5.7开始支持表空间加密了,增强了MySQL的数据文件的安全性,这是一个很不错的一个功能,这个特性默认是没有启用的,要使用这个功能要安装插件keyring_file. 下面就来看看怎么安装, ...

  4. ios UICollectionView滑动时操作

    点开UICollectionViewDelegate,发现有@protocol UICollectionViewDelegate <UIScrollViewDelegate>. 所以只要实 ...

  5. 实现微信好友列表的php代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. C++中关于指针初始化和使用NULL的理解

    1.严禁使用未被初始化的指针:C++创建指针的时候,只分配存储地址的内存,并不会分配存储数据的内存,所以指针可能指向任何位置. (1)使用解除运算符(*)之前,一定要对指针初始化,否则若声明的指针刚好 ...

  7. Redis VS Memcached

    1. Redis & Memecached比较   内存管理 持久化 数据类型 客户端支持 并发性能 Memcached 预分配的内存池的方式 不支持持久化 支持简单的key-value存储 ...

  8. zoj 3785 What day is that day? (打表找规律)

    题目 思路:比赛的时候有想过找循环节,但是,打表打错了. 后来,看着过了挺多人,就急了, 看了一下别人的时间 耗时都挺长的,就以为不是找规律, 没想到真是找规律,不过,这个题的数据可能挺大的. AC代 ...

  9. 解析Android开发优化之:从代码角度进行优化的技巧

    下面我们就从几个方面来了解Android开发过程中的代码优化,需要的朋友参考下   通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说 ...

  10. bzoj4154

    一开始读错题,各种不会做,后来发现染色只是染孩子…… 那不就简单了吗……注意这题是允许离线的 染色如果没有距离限制,它就是个dfs序 距离限制怎么做呢?我们考虑扩展一维变成二维的问题,将每个点变为二维 ...