基于linux的Git平台的部署与Gitolite使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于linux的Git平台的部署与Gitolite使用相关的知识,希望对你有一定的参考价值。
基于linux的Git平台的部署与使用
- 系统环境
#cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)
- 安装git
##yum安装git #yum -y install git
- 创建git用户及设置密码
#useradd git #passwd git
- Gitolite使用说明
Gitolite管理的方式是给你一个特殊的仓库,修改,提交,推送到服务器就可以了,这个仓库只可以管理员访问,现在把管理员的公钥复制到服务器上(可以和Git服务器在同一台服务器上也可以在不同的服务器上) - 管理员公钥复制
#su - git $ pwd /data/git (可以在其他目录下创建,最好在git账户的家目录下) $ touch admin.pub 将管理员的公钥放到admin.pub文件里(只能放一行,即只能有一个管理员账号)
- 安装Gitolite和配置
##在git用户上进行安装 #gitolite will install here $ pwd /data/git $ mkdir bin (最好在git账户的家目录下) #get the source code $ git clone git://github.com/sitaramc/gitolite.git #install $ ~/gitolite/install -to ~/bin #setup $ ~/bin/gitolite setup -pk ~/admin.pub $ ls admin.pub bin gitolite projects.list repositories
-
管理用户进行测试
##以下操作均在mac上进行! ##管理员公钥添加的是我mac本的 ? ~ ssh -p 58000 [email protected] ##应该看到类似这样的输出: hello git, this is [email protected] running gitolite3 v3.04-20-g6328ec2 on git 1.7.9.5 R W gitolite-admin Connection to localhost closed.closed ##将管理仓库克隆下来管理Git服务器 ? git clone ssh://[email protected]:58000/gitolite-admin (非标准ssh端口) ##将会看到如下两个目录文件: ? gitolite-admin git:(master) ls conf keydir
- 添加用户
##以下操作均在mac上进行 git:(master) pwd git:(master) /Users/wtf/gitolite-admin/keydir git:(master) touch shiyan.pub ##将用户shiyan的公钥写入shiyan.pub文件里! git:(master) vim shiyan.pub git:(master) pwd git:(master) /Users/wtf/gitolite-admin git:(master) git add keydir git:(master) git commit -m "add new user shiyan" git:(master) git push git:(master) ls shiyan.pub
- 添加/创建仓库
##我们现在要创建一个名为datagrand1的仓库,让刚创建的datagrand1有读写权限,并将其给予用户shiyan使用。 git:(master) pwd /Users/wtf/gitolite-admin/conf ##添加类似下面这内容进去 repo datagrand1 RW+ = shiyan 保存,提交并推送到远和服务 git:(master) pwd /Users/wtf/gitolite-admin git:(master) git add -u git:(master) git commit -m ‘add new repo datagrand1 and assign RW+ to shiyan‘ git:(master) git push ##推送的时候应该看到类似这样的信息 Counting objects: 7, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 395 bytes, done. Total 4 (delta 1), reused 0 (delta 0) remote: Initialized empty Git repository in xxxxx To [email protected]:gitolite-admin 6de90b8..52737aa master -> master ##注意remote开头的一行,它已经帮你创建了这个仓库
- 使用clone仓库
##在shiyan账户的终端上进行操作 $ git clone ssh://[email protected]:58000/datagrand1 (非标准ssh端口)
以上是关于基于linux的Git平台的部署与Gitolite使用的主要内容,如果未能解决你的问题,请参考以下文章