基于gitosis的Git云端服务器配置

简介:

(本文需要自己实践,由于时间关系,我仅仅是做了整理和快速的练习,至于笔记中的账号和ip域名都是我参考文章中的。如果读者有任何问题欢迎留言和发邮件到luoquantao@126.com)

硬件:云端阿里云服务器 

软件:云端:gitosis + git + ssh

   本地:cygwin 或者 gitbash

参考文章:http://www.open-open.com/lib/view/open1349849744275.html

     http://bdxnote.blog.163.com/blog/static/844423520124137333373/

     http://book.51cto.com/art/201107/278832.htm

       http://blog.csdn.net/ice520301/article/details/6142503

       http://blog.csdn.net/markddi/article/details/8289774

详细步骤如下:

1:创建git账号用于管理git服务器

  useradd -s /bin/bash -d /home/git -G root -m -c "Manager for git server" -p git git
     其中,-p:指定账户git的密码;
        -m:强制创建git账户的home目录;
        -d:指定git账号的home目录;
        -s:指定git账号的登录shell;
        -G:指定git账户所属的用户组;
        -c:指定git账号的描述;

  passwd git 设置git的密码:此处设置为git

  如果在后面使用sudo的时候报错,需要修改/etc/sudoers文件

2: 升级系统

  sudo apt-get update

  sudo apt-get upgrade

3: 安装git相关的组件(包括git、openssh)

  sudo apt-get install git-core openssh-server openssh-client

4:安装gitosis

  4-1:初始化git服务器所管理的账户(提交代码时的账号)

    git@zxk:~$ git config --global user.name "zxk"
        
git@zxk:~$ git config --global user.email "zxk@163.com"

  4-2:安装python的setup tool,为安装gitosis做准备

    git@zxk:~$ sudo apt-get install python-setuptools

  4-3:获取gitosis安装包

     git@zxk:~$ mkdir ~/.gitosis_setop
        
git@zxk:~$ cd ~/.gitosis_setop/
         
git@zxk:~/.gitosis_setop$ git clone git://eagain.net/gitosis.git
         如果这个不行:
         Cloning into 'gitosis'...
         fatal: unable to connect to eagain.net:
         eagain.net[0: 208.78.102.120]: errno=Connection refused
         则可从如下位置clone gitosis包:
         git clone 
https://github.com/res0nat0r/gitosis.git

  4-4:安装gitosis包

     git@zxk:~/.gitosis_setop$ cd gitosis/
        git@zxk:~/.gitosis_setop/gitosis$ sudo python setup.py install
         若报错,可通过如下命令解决:
         git@zxk:wget http://peak.telecommunity.com/dist/ez_setup.py
         git@zxk:python ez_setup.py

  4-5:生成ssh公钥,并上传到git服务器上,或直接使用git账户在git服务器上生成,现在采用git账户直接在git服务器上生成。

     git@zxk:~$ ssh-keygen -t rsa

    4-6:初始化gitosis

     git@zxk:~$ sudo -H -u git gitosis-init < ~/.ssh/id_rsa
         Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
         Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

     gitosis默认会把git仓库房子git账户的目录下:也就是/home/git下面

     gitosis的有趣之处在于,它通过一个git仓库管理配置文件

    仓库就放在/home/git/repositories/gitosis-admin.git, 我们需要对一个文件加个权限

     git@zxk:~$ pwd
         /home/git
         
git@zxk:~$ chmod 755 repositories/gitosis-admin.git/hooks/post-update

  4-7:配置gitosis, 以控制git客户端的操作

   git@zxk:~$ git clone git@192.168.0.251:repositories/gitosis-admin.git

      git@zxk:~$ cd gitosis-admin/
      
git@zxk:~/gitosis-admin$ vi gitosis.conf 
      [gitosis]
      loglevel = DEBUG

 

      [group gitosis-admin]                 #gitosis-admin为git组名;
      witeable = gitosis-admin              #gitosis-admin为仓库名;
      members = 
git@zxk root@zxk zxk@zxk

 

      #下面两个group配置实现把仓库teamwork的只读权限分配给git组team;
      #同时,把仓库teamwork的可写权限分配给git组team_ro;
      [group team]                          #team为git组名;
      writable = teamwork                   #teamwork为仓库名;
      members = 
a@svr b

   

      git@zxk:~/gitosis-admin$ git add -A
      
git@zxk:~/gitosis-admin$ git commit -m "init gitosis-admin config gitosis.conf"
      [master 2691646] init gitosis-admin config gitosis.conf
      1 file changed, 4 insertions(+)

 

      git@zxk:~/gitosis-admin$ git push origin master
      
git@192.168.0.251's password: 
      Counting objects: 5, done.

  4-8:创建一个仓库的存储位置,并初始化

   git@zxk:~$ mkdir -p /repo/top1

      git@zxk:~$ cd /repo/top1/
      
git@zxk:/repo/top1$ git init --bare

 

      #在当前项目仓库中配置访问该仓库的用户信息:
      
git@zxk:/repo/top1$ git config --add user.name "zxk"
      
git@zxk:/repo/top1$ git config --add user.email "zxk@163.com"
      
git@zxk:/repo/top1$ git config --add user.name "bliss"
      
git@zxk:/repo/top1$ git config --add user.email "bliss@163.com"
      
git@zxk:/repo/top1$ git config --add user.name "dummy"
      
git@zxk:/repo/top1$ git config --add user.email "dummy@163.com"
      这些信息被添加在当前项目仓库的.git/config文件的[user]段中了;

 

      如果git config命令加上--global选项,那些这些用户信息就会被添加到~/.gitconfig文件的[user]段中;
      如:
      
git@zxk:/repo/top1$ git config --global --add user.name "zhangsan"
      
git@zxk:/repo/top1$ git config --global  --add user.email "zhangsan@163.com"

 

      如果git config命令加上--file选项,那些这些用户信息就会被添加到--file所指定的文件的[user]段中;

  4-9:在客户端直接clone该仓库就可以了;

   git clone zxk@192.168.0.251:/repo/top1 test
      然后初始化第一个版本的数据并提交;

 本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3647891.html如需转载请自行联系原作者


demoblog

相关文章
|
15天前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
16天前
|
存储 运维 安全
阿里云服务器2核4G与4核8G配置解析:实例规格、价格及选择指南
阿里云服务器2核4G和4核8G配置凭借其均衡的性能与性价比,成为中小企业及开发者群体的热门选择。通用算力型u1实例2核4G5M带宽80G ESSD Entry云盘特惠价199元1年,个人用户最低531.79元1年,4核8G配置价格最低的是通用算力型u1实例,活动价格为955.58元1年起,除此之外,还有计算型c7、c9i、c8y等计算型实例有2核4G与4核8G配置可选。具体配置还需要看想要购买的云服务器实例规格和配置及带宽大小。本文将结合2025年最新活动价格,深度解析阿里云服务器2核4G与4核8G配置的实例规格、适用场景及选择策略,以供参考。
|
22天前
|
机器学习/深度学习 存储 前端开发
阿里云服务器8核16G配置详解:热门实例规格、价格与选购指南
阿里云服务器8核16G配置,这样的配置能够满足大多数中小型网站、Web前端服务器以及计算密集型任务的需求。根据最新的收费标准及活动价格来看,云服务器8核16G配置收费标准最低的是经济型e实例,按量收费标准0.9元/小时,如果是需要年付的话,目前选择计算型c8y实例的活动价格为为2861.27元/1年起。本文为大家介绍8核16G配置的几款主要热门实例规格各自的性能与收费标准价格情况,以供选购参考。
|
4天前
|
存储 弹性计算 人工智能
阿里云服务器配置选择方法,八大使用场景选择合适的云服务器配置
本文详解阿里云ECS服务器在八大场景(新手入门、网站、数据库、大数据、游戏、视频、AI、高性能计算)中的配置选择策略,涵盖实例性能特点与推荐型号,助力用户精准选型,实现性能与成本的最优平衡。
|
1月前
|
存储 弹性计算 固态存储
如何给轻量服务器升级套餐配置?附上云服务器配置攻略
本文介绍了阿里云轻量应用服务器升级配置的流程及注意事项,并提供云服务器选型攻略。内容涵盖升级前的数据备份、操作步骤、系统盘扩容及机房限制等,同时结合业务类型、访问量、带宽、存储等因素,指导用户合理选择ECS实例规格与配置,助您高效稳定部署应用。
|
12天前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
133 20
|
12天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
133 18
|
14天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
114 17
|
7天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考:最新收费标准与不同实例热门配置活动价格
阿里云服务器租用价格参考:配置最低的1核0.5G云服务器,按量付费价格0.063元/小时,按月租用价格为18元/1月,爆款配置的活动价格目前直降,2核2G配置轻量应用服务器抢购价为38元一年;经济型e实例2核2G3M特惠价99元1年;通用算力型u1实例2核4G5M带宽特惠价199元1年;2核8G配置的活动价格最低为一年652.32元;4核16G配置的活动价格最低为1196.64元;8核16G配置的最低一年租用价格为3815.03元。以下是2025年阿里云服务器最新收费标准与热门配置活动价格的详细内容。
|
8天前
|
存储 缓存 数据挖掘
阿里云轻量应用服务器“CPU优化型”配置介绍、费用价格说明
阿里云轻量应用服务器推出CPU优化型,提供更强计算性能,2核4GB起,最高16核64GB,全系支持200Mbps带宽。适用于企业级应用、数据库、游戏服务器等高算力场景,保障稳定高效运行。

热门文章

最新文章