快速搭建Git服务器

1安装软件

1)源码包方式

安装包:git-2.2.0.tar.gz        //可去官网下载http://www.git-scm.com/downloads

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

# tar zxf git-2.2.0.tar.gz

# cd git-2.2.0

# make prefix=/app/public/git all

# make prefix=/app/public/git install

# ln -s /app/public/git/bin/* /usr/bin/

2) rpm包方式

# yum install git

2 创建git用户

# adduser git

# passwd git

3 在git用户家目录下安装gitolite

切换到git用户

# su - git

创建文件夹bin

$ mkdir bin

克隆gitolite源码

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

$ ls

bin  gitolite

安装gitolite

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

$ ls bin/

commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

4 配置gitolite管理员

复制管理员的公钥到/tmp下(此处用本机root做管理员,也可以使用其他用户)

# cp /root/.ssh/id_rsa.pub /tmp/admin.pub

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

# su - git

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

$ ls

bin  gitolite  projects.list  repositories

5 管理员日常管理

1) 管理员clone管理库(此处为本地root用户)

# git clone [email protected]:gitolite-admin  (192.168.100.1为git服务器IP)

2)添加用户的公钥

例如我要让jinjj用户访问git服务器上的projectA库

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

将jinjj用户的公钥命名为jinjj.pub

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

# cp jinjj.pub gitolite-admin/keydir/

3)创建库,分配用户权限

管理员创建projectA库,并给jinjj分配权限

# cd gitolite-admin/conf/

# vim gitolite.conf

下边定义projectA库,并且指定用户权限,在原配置文件基础上添加如下内容:

……

@myGroup=admin  jinjj      //定义myGroup组,包含admin和jinjj2个用户

repo projectA   //定义git仓库名为projectA

RW+ =   @myGroup    //设置权限,这里为具有读写,并且允许推送权限

权限规则解释如下:

R = @test   //组test 具有只读权限

- = badboy  //禁用指令,让用户badboy只对版本库具有读操作的权限

RW = @dev test1      //组dev, 用户test1对仓库有读写权限

RW+ = @admin     //组admin具有读写权限,并且允许强行推送

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

# git status

# git add gitolite.conf

# git commit -m "AddRepo:projectA;AddUser:jinjj"

# git push origin master

这里补充一点,git的版本库都位于服务器端用户目录下的repositories目录下,这是由.gitolite.rc决定的。

推送成功后,可以看到repositories目录下多了一个projectA的版本库.

$ ls /home/git/repositories

gitolite-admin.git projectA.git testing.git

6客户端验证

jinjj用户克隆projectA库

$ git clone [email protected]:projectA

$ ls projectA

由于是新库,里面什么都没有

然后就可以进入到projectA库内,进行创建文件,修改,提交等操作。

时间: 2024-10-21 21:46:39

快速搭建Git服务器的相关文章

[Node.js] 2、利用node-git-server快速搭建git服务器

本文用到了node-git-server 1.检测本地git版本 该包的使用需要机器上本来就安装git,且git的版本大于等于2.7: 1 ╭─[email protected] /home/workspace 2 ╰─# git --version 129 ↵ 3 git version 2.7.4 2.利用npm安装包 1 ╭─[email protected] /home/workspace 2 ╰─# npm install node-git-server 3 /home/workspa

零基础Centos6搭建Git服务器,及常见问题解决

1.编译安装git 1$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.tar.gz #目前最新版本 2$ tar -xzvf git-1.7.3,tar.gz #解压出来 3$ cd git-1.7.3 #进入目录 4$ yum install  -y gettext-devel expat-devel curl-devel zlib-devel openssl-devel #-y是默认自动安装,安装编译时用到的东东 5$ ./co

CentOS搭建Git服务器及权限管理

声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSSH,如果您的系统没有,请自行安装. 查看ssh版本 $ ssh -V # 输出以下表示没问题,可以继续. 版本可能不一致,能用即可. OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013 避免系统环境和其他的不一致,请核对您系统的版本,其他发行版请对应修改

使用Gitosis搭建Git服务器

使用Gitosis搭建Git服务器 作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/build-git-server-with-gitosis.html Git 1.安装gitosis 首先是获取gitosis(这里假设你已经安装过git): git clone git://github.com/res0nat0r/gitosis.git 接下来安装gitosis: sudo python s

在CentOS搭建Git服务器 转

在CentOS搭建Git服务器 来自 :http://www.jianshu.com/p/69ea5ded3ede 前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公司内部通常会搭建自己的Git服务器,我也通过在自己的服务器上搭建练习一下. 开始前先说一下服务器信息,这里是阿里云的CentOS 6.5 64位操作系统. 一 确认服务器是否安装Git [[email protected] git]# rpm -qa gitgit-1.7.1-3.el6_4.1.x

linux 搭建git 服务器

cenos 搭建git 服务器 假设你已经有sudo权限的用户账号,下面,正式开始安装. 第一步,安装git: # yum install git 第二步,创建一个git用户,用来运行git服务: # adduser git 第三步,创建证书登录: git客户端生产成 id_rsa.pub,输入命令 ssh-keygen -t rsa windows主机上在 C:\Users\Administrator\.ssh 目录下 id_rsa.pub 这个文件 收集所有需要登录的用户的公钥,就是他们自己

Windows操作系统下搭建Git服务器和客户端。

本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用.客户端是采用的TortoiseGit工具,UI操作,省去输入命令的麻烦,对于windows用户来说更易于使用. 所需软件: Git服务器端: BONOBO GIT SERVER,下载最新版:http://bonobogitserver.com/ Git客户端: msysgit,下载最新

CentOS 6.4 搭建git 服务器

CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器

版本控制——Git 使用笔记,以及Windows搭建Git服务器

Git和Github的关系 链接:http://www.zhihu.com/question/21907548/answer/95284202 来源:知乎 Git是一款免费.开源的分布式版本控制系统 Github是用Git做版本控制的代码托管平台 相当于本地.公司服务器.Github网站服务器都装Git做版本控制,只不过Github的服务器强大些,对全球用户托管的项目用Git做版本控制! 正是由于Github用Git做版本控制,所以可以轻松的记录项目的变迁史,然后有了下图 git是一张弓,git