安装git

关于安装git  可以参考 http://gitolite.com/gitolite/install.html 里面有官方的介绍

1. Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
2. 然后到官网http://git-scm.com/download/linux下载最新版本源码安装,或者使用系统提供的包管理工具安装.
3. 下载后解压 进入文件夹
tar xzf git-2.3.5.tar.gz
cd git-2.3.5
4. 网上找了半天资料发现没有有用的自己翻看 readme来解决 通过readme 知道安装需要查看 install 文件 

Normally you can just do "make" followed by "make install", and that
will install the git programs in your own ~/bin/ directory.  If you want
to do a global install, you can do

$ make prefix=/usr all doc info ;# as yourself
 # make prefix=/usr install install-doc install-html install-info ;# as root

(or prefix=/usr/local, of course).

我这采用的是:

make prefix=/usr/local all
make prefix=/usr/local install

git --version  #如果能显示版本号,即表示成功

5. 为git增加专门用户

# adduser git

# passwd git

在git用户家目录下安装gitolite

6. 切换到 git用户

# su – git  //记住 切换后默认计入 git 家目录

如果切换后 变成

bash-4.1$  请参考 linux问题: 切换用户之后变成-bash-4.1$

7. 创建文件夹bin

$ mkdir bin  //如果不在 git家目录下 可以 输入 $mkdir -p $HOME/bin

8. 克隆gitolite源码

$ git clone https://github.com/sitaramc/gitolite.git 
$ ls 
bin  gitolite

 9. 安装gitolite

$ ./gitolite/install -to /home/git/bin/  或  $ gitolite/install -to $HOME/bin

$ cd bin/ 
$ ls 
commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

配置gitolite管理员

10. 生成管理员账户的公钥

# ssh-keygen   (此处指定本地root用户为管理员,键入回车使用默认值)

复制管理的公钥

# cp .ssh/id_rsa.pub /tmp/git.pub

11. 切换回git用户,为gitolite配置管理员

$ /home/git/bin/gitolite setup -pk /tmp/git.pub

 $ ls 
bin  gitolite  projects.list  repositories

管理员日常管理

12. 管理员clone管理库

# pwd 
/root/gitolite-admin 
# ls 
conf  keydir
13. 创建库、添加用户

例如某test123用户访问git服务器上的myFirstRepo库

test123用户向git服务器管理(此处是之前的服务器本地的root用户)提交自己的ssh无密码公钥

管理员将test123的公钥复制到 gitolite-admin/keydir/ 下

# cp test123.pub /root/gitolite-admin/keydir/

管理员创建myFirstRepo库,并给test123分配权限

# cd gitolite-admin/conf/ 
# vim gitolite.conf

默认内容为:

repo gitolite-admin 
    RW+ =   admin 
repo testing 
    RW+ =   @all

下边定义myFirstRepo库,并且指定用户权限:

repo gitolite-admin 
    RW+ =   admin 
repo testing 
    RW+ =   @all 
@myGroup=admin  test123 
repo myFirstRepo 
    RW+ =   @myGroup

注:此处@myGroup是一个组,给myGroup组赋予对myFirstRepo这个库的读、写、推送的权限(详细规则可参考gitolite的readme.txt)

管理员将对gitolite-admin的修改(建库、加用户)提交到git服务器

# pwd 
/root/gitolite-admin

# git add * 
# git commit -m

或者命令如下:

把gitolite-admin下的变更都commit,并push到服务器上

。服务器上的Gitolite会根据内容自动建立新的git版本库,并放置在服务器专有账号主目录下的repositories文件夹下:
git add conf
git add keydir
git commit -m "added foo repo, gave access to Jason"
git push
 

CentOS 如何安装git server + Gitolite 【配置不成功需要再测试2015-8-20】的更多相关文章

  1. CentOS 7安装TigerVNC Server

    http://blog.csdn.net/wamath/article/details/76003128 1. CentOS 7安装TigerVNC Server 本文介绍如何在CentOS 7上安装 ...

  2. vmworkstation安装unbuntu server 网络配置:NAT模式

    之前安装虚拟机测试环境的时候,习惯了使用桥接模式或者仅主机模式:今天偶然发现,其实NAT 模式的网络配置还是挺方便的. 在新建虚拟机的时候,选择网络模式为NAT,虚拟机创建完成之后,在vmworkst ...

  3. linux(centos)下安装git并上传代码些许步骤(亲自验证过的步骤)

     曾经听说了好多次github,但直到近期才第一次学习使用github来托管自己在linux下的代码! 说实话.我自己在使用的时候从网上查了好多教程.但总认为难以掌握(步骤过于繁琐),自己操作的时候还 ...

  4. Ubuntu 安装 SSH server 并配置 SSH 无密码登录

    https://hinine.com/install-and-configure-ssh-server-on-ubuntu/ Ubuntu 安装 SSH server 并配置 SSH 无密码登录 发表 ...

  5. centos 安装git服务器,配置使用证书登录并你用hook实现代码自动部署

    安装git服务器先安装依赖软件:yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel open ...

  6. centos 7 安装git并配置ssh

    一.安装 1.查看是否安装git rpm -qa|grep git 有git加版本号就说明已经安装过了 2.安装git yum install git 3.查看git版本 git version 二. ...

  7. ubuntu 14.04 安装git server

    版本信息 ubuntu : 14.04.1 git version 1.9.1 perl v5.10.1 ssh OpenSSH_6.6.1p1 本次安装的git server使用gitolite实现 ...

  8. CentOS 6 安装 Python3.5以及配置Django

    http://www.jianshu.com/p/6199b5c26725 文/FiveStrong(简书作者)原文链接:http://www.jianshu.com/p/6199b5c26725著作 ...

  9. Git学习系列之CentOS上安装Git详细步骤(图文详解)

    前言 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Win ...

随机推荐

  1. C#中类的运用(Eighth day)

    又到了总结知识的时刻了,今天在云和学院学习了类的运用,下面是今天所学知识的总结: 理论: 类的定义语法: [访问修饰符] class 类名 { 成员;  // 1.通过字段来描述类别信息的变量 ... ...

  2. 学习MVC遇到的问题

    修改电脑上的DNS配置: Opendns 首选DNS服务器和备用DNS服务器分别设置为208.67.222.222和208.67.220.220 google的8.8.8.8 首选DNS服务器和备用D ...

  3. (" use strict")Javascript 严格模式详解

    Javascript 严格模式详解 转载别人的博客内容,浏览了一遍,没有全部吸收,先保存一下链接 http://www.ruanyifeng.com/blog/2013/01/javascript_s ...

  4. week4_motion_of_ball_1(小球运动)——改进

    # Ball motion with an explicit timer import simplegui # Initialize globals width = 600 height = 600 ...

  5. 杭电ACM 素数判定

    素数判定 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. web.xml 的加载顺序

    context-param -> listener -> filter -> servlet

  7. C#调用Java方法

    C#调用Java方法(详细实例) 阅读目录 C#调用c++ C#调用JAVA方法 C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具 ...

  8. Chromium如何显示Web页面

    Displaying A Web Page In Chrome 概念化的应用分层 参见原文档:http://goo.gl/MsEJX 每一个box代表一个抽象层.下层不依赖于上层. WebKit:渲染 ...

  9. 如何正确地在手机上显示图片——QImage与QPixmap完全解析

    引言 用Qt程序在手机上显示一幅图片对编程人员来说是再基础不过的一件事情了.那么先让大家看两段代码: //dangerous should not be used, cannot display ea ...

  10. asp.net判断用户是否登录

    最简单的代码: if(Session["LoginUser"] == null)  //注意:Session["LoginUser"]后面,没有ToString ...