zoukankan      html  css  js  c++  java
  • 技术七Gitservergitolite要构建和操作方便

    最近,人懒,为了让自己的变化,所以,我决定花时间学习一些新的技术,。对于这些新技术,现在的需求不是很高。只需要在它的入口。

    由于本人仅仅是花三四天整出来的东西,所以不洗勿喷,另外难免会有错误,如有还请指出。

    环境:

    Ubuntu server 14.04.1 、Git 1.9.1 gitolite3

    对于Git的介绍这里就不介绍。有兴趣的大家能够自己去网上搜搜。

    以下介绍怎么安装Gitservergitolite。以及怎么建立仓库、加入用户等操作,本篇文章不会介绍太多的Git本身的命令,由于我自己有些还没玩清楚,等什么时候玩清楚了,会写文章共享出来。


    1 搭建ubuntu环境

    我这里使用的是虚拟机安装的ubuntu。我使用的14.04,開始的时候使用的是13.04,可是有些软件包没有。全部就用14.04了。(对于linux是小白。为什么没有可能是没设置对,勿喷)

    2 安装Git

    首先我们须要安装Git,ubuntu提供了非常方便的安装工具,apt-get,所以我们使用这个工具安装,在命令行中输入以下命令(server版进入就是命令行,假设是desktop版自己搜索进入命令行):

    sudo apt-get update  

    该条命令用于更新apt-get所能安装的软件的资源

    sudo apt-get install git

    该命令用于安装Git(以下的菱形是乱码)

    3 安装openssh-server

    sudo apt-get install openssh-server

    ssh訪问须要使用openssh-server

    4 加入管理用户

    加入用户git(也能够是其它的username。这里仅仅是方便记忆),该用户用于管理git,包含仓库的创建、git用户的加入等

    sudo adduser --system --shell /bin/bash --group git

    有的系统,仅仅同意特定的用户组(如 ssh 用户组)的用户才干够通过 SSH 协议登录。这就须要将新建的 git 用户加入到 ssh 用户组中。

    sudo adduser git ssh

    设置password

    passwd git

    5 生成ssh key

    git须要使用ssh訪问,所以须要生成一组ssh key。至于ssh訪问的具体介绍。自己搜索去吧。

    切换到git用户下

    su git

    ssh-keygen

    cd .ssh

    cp id_rsa.pub authorized_keys

    6 安装gitolite

    在git用户下

    mkdir bin  创建bin文件夹用于安装gitolite

    从远端克隆gitolite

    git clone git://github.com/sitaramc/gitolite

    运行例如以下命令进行安装

    ~/gitolite/install -to ~/bin
    mv ~/.ssh/authorized_keys ~/git.pub
    ~/bin/gitolite setup -pk ~/git.pub

    假设例如以下内容说明成功:

    7 查看默认仓库

    还是在git用户下
    ssh git@127.0.0.1

    出现例如以下内容:

    hello git, this is git@linux-dev running gitolite3 v3.5.2-4-g62fb317 on git1.8.1.2 
      R W    gitolite-admin
      R W    testing
    代表gitolite工作正常
    安装成功后gitolite会自己主动生成两个仓储,一个是testing.git用来測试,还有一个gitolite-admin就是用来管理gitolite的配置仓储。


        将gitolite-admin.git clone到本地,注意:还是在git用户下。由于当前仅仅有git用户对其有读写权限。

    git clone git@127.0.0.1:gitolite-admin 

    会在当前文件夹以下出现gitolite-admin文件夹。

    8 加入git用户

    须要在为须要加入的用户生成公钥文件,我这里在mac以下做的測试,在linux中跟上面生成git的ssh key方式一样,在windows中貌似须要使用一个工具msysgit。

    生成的一对文件,须要将当中的xxx.pub改动为须要加入用户的名字。比如我们想加入的username为mxy,须要将id_rsa.pub改动为mxy.pub。以下使用命令复制到gitolite-admin/keydir文件夹下:

    scp <user>.pub git@ip:gitolite-admin/keydir 将pub公钥复制到gitolite-admin仓库

    然后在gitserver的相应文件夹中查看是否已经存在相应的文件。

    到这里用户仅仅是加入了一部分,真正加入完毕继续往下看。

    9 加入仓库

    打开gitolite-admin/conf/gitolite.conf文件

    将其改动为例如以下内容(vi的命令自己搜。这里基本就用到了i、esc、:wq)

    上面的repo代表是创建了一个demo仓库(创建的方式有非常多种,这里我仅仅是介绍这一种)。以下的RW代表可读写,还有其它的keyword,自己搜索。

    等于号后面的代表是对于这个仓库的权限,多用户使用空格隔开。

    10 将配置推送到gitoliteserver

    走到第9步的时候,你是不是以为已经结束了呢。事实上还没有。由于我们的gitolite-admin是clone下来的。这些配置仅仅是保存在我本地的,所以我们还须要将其推送到gitolite的server上。然后才会生效。

    在gitolite-admin文件夹下运行例如以下命令

    git add .

    git commit -m "这个是提交信息,用于表示这次提交的解释。能够随便写“

    在这步的时候可能会出现例如以下错误,我们须要配置一下提交信息

    解决方案例如以下(当然最后的配置须要依据自己的实际情况填写):

    git push origin master  这条命令是推送到server,上面两条仅仅是做的本地提交,对于本地提交自己好好学习一下git就了解了。

    11 測试是否搭建成功

    使用加入的用户去clone demo库。假设能够clone成功说明基本没问题了,我配置的用户mxy。所以我的命令行例如以下:

    上边git@10.211.55.22,这个git它指的是管理git用户。后ip它是指gitserver的ip,假设我们可以把democlone向下,这说明成功

  • 相关阅读:
    maven 依赖阿里云仓库
    jacob
    mysql
    简单明了区分escape、encodeURI和encodeURIComponent(转载)
    eclipse
    StringBuffer的构造方法和capacity的返回值关系
    toString和valueOf的区别
    js中ajax返回数据
    springmvc 文件上传
    springmvc 上传文件报错 String不能转成multipartFile
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4568921.html
Copyright © 2011-2022 走看看