博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git核心技术:在Ubuntu下部署Gitolite服务端
阅读量:5338 次
发布时间:2019-06-15

本文共 3615 字,大约阅读时间需要 12 分钟。

参见:http://blog.yuqiyu.com/git-gitolite-server.html

Step1:生成 SSH KEY

  gitadmin@gitserver:~$ ssh-keygen -t rsa

上传公钥到服务端

在上传公钥之前,为了后期方便区分,我们来给id_rsa.pub文件修改下名称,命令如下所示

gitadmin@gitserver:~/.ssh$ mv id_rsa.pub git_admin.pub

Step2:添加Git管理用户

  gitadmin@gitserver:~$ sudo adduser git

系统用户创建完成后我们需要切换到该用户进行安装Gitolite以及对Gitolite进行初始化,命令如下所示:

git@gitserver:~$ sudo apt-get install gitolite3

执行完成后在终端会输出初始化管理仓库的消息,如下所示:

Initialized empty Git repository in /var/lib/gitolite3/repositories/gitolite-admin.git/ Initialized empty Git repository in /var/lib/gitolite3/repositories/testing.git/ WARNING: /var/lib/gitolite3/.ssh missing; creating a new one     (this is normal on a brand new install) WARNING: /var/lib/gitolite3/.ssh/authorized_keys missing; creating a new one     (this is normal on a brand new install) Setting up libcommon-sense-perl (3.74-1build1) ... Setting up libtypes-serialiser-perl (1.0-1) ... Setting up libjson-xs-perl (3.010-2build1) ... 执行设置管理用户: git@gitserver:~$ gitolite setup -pk /tmp/git_admin.pub 这样我们的管理用户已经设置完成了,也就是把我们的gitadmin用户设置成为了服务端的管理用户,只有gitadmin用户才可以操作gitolite-admin仓库内容。 Step3:   再次将用户切换到gitadmin,到gitadmin根目录下执行clone管理仓库gitolite-admin,如下所示: gitadmin@gitserver:~$ git clone git@192.168.0.110:gitolite-admin.git Cloning into 'gitolite-admin'... remote: Counting objects: 6, done. remote: Compressing objects: 100% (4/4), done. remote: Total 6 (delta 0), reused 0 (delta 0) Receiving objects: 100% (6/6), done. Checking connectivity... done. gitadmin@gitserver:~$ cd gitolite-admin/ gitadmin@gitserver:~/gitolite-admin$ ls conf  keydir Step4: Add the user pub and commit user to git gitadmin@gitserver:~/gitolite-admin/keydir$ cp /media/gitadmin/Ubuntu\ 16.04.5\ LTS\ amd64/ keven.pub gitadmin@gitserver:~/gitolite-admin/keydir$ ls git_admin.pub  keven.pub gitadmin@gitserver:~/gitolite-admin/keydir$ ls -l total 8 -rw-rw-r-- 1 gitadmin gitadmin 400 2月  19 13:52 git_admin.pub -rwxrwxrwx 1 gitadmin gitadmin 415 2月  19 10:03 keven.pub gitadmin@gitserver:~/gitolite-admin/keydir$ git add keven.pub gitadmin@gitserver:~/gitolite-admin/keydir$ git commit -m "add user keven" gitadmin@gitserver:~/gitolite-admin/keydir$ git push Step5: 配置新用户权限 gitadmin@gitserver:~/gitolite-admin/conf$ vim gitolite.conf   1 repo gitolite-admin   2     RW+     =   gitadmin   3   4 repo testing   5     RW+     =   @all   6   7 repo bsp500   8     RW+     =   terry   9     RW+     =   keven Step6: 提交gitolite.conf   gitadmin@gitserver:~/gitolite-admin/conf$ git status   gitadmin@gitserver:~/gitolite-admin/conf$ git add gitolite.conf  gitadmin@gitserver:~/gitolite-admin/conf$ git commit -m "add keven user"    [master 834ff2d] add keven user    1 file changed, 1 insertion(+) gitadmin@gitserver:~/gitolite-admin/conf$ git push Step7:切换到keven 用户去clone  keven@gitserver:~$ git clone git@192.168.0.105:bsp500.git Cloning into 'bsp500'... warning: You appear to have cloned an empty repository. Checking connectivity... done.

创建一个新仓库 step1:gitadmin@gitserver:~/gitolite-admin/conf$ vim gitolite.conf   1 repo gitolite-admin   2     RW+     =   gitadmin   3   4 repo testing   5     RW+     =   @all   6   7 repo bsp500   8     RW+     =   terry   9     RW+     =   keven  10  11 repo proj_a  12     RW+    =keven gitadmin@gitserver:~/gitolite-admin/conf$ git add . gitadmin@gitserver:~/gitolite-admin/conf$ git commit -m "add a new repo" [master 2bedbdf] add a new repo  1 file changed, 4 insertions(+) gitadmin@gitserver:~/gitolite-admin/conf$ git push Step2:切换到git用户查看新仓库 git@gitserver:~/repositories$ ls bsp500.git  gitolite-admin.git  proj_a.git  testing.git

转载于:https://www.cnblogs.com/dwtmjps/p/10400167.html

你可能感兴趣的文章
利用 Composer 完善自己的 PHP 框架(二)
查看>>
二维码Java和Jquery生成方式
查看>>
微软面试4、在二元树中找出和为某一值的所有路径
查看>>
link with editor
查看>>
js 获取字符串中所有的数字和汉字
查看>>
vue-cli中配置sass
查看>>
EhCache缓存
查看>>
art-template引擎模板
查看>>
Using Emacs as Clojure IDE
查看>>
unity3d 和sharesdk 进行登录分享使用过程(引用)
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
002-ES6Class和普通构造函数的区别
查看>>
python批量检测注入点脚本
查看>>
Light oj 1043(数学)
查看>>
SSM事务——事务回滚如何拿到返回值
查看>>
辞旧迎新,如何区分新旧控件:除了遍历就是创建全局变量,设置默认值,在迎新后,将新的值赋给全局变量.像接力棒一样....
查看>>
淘宝首页交互2--搜索框切换
查看>>
wcf session开启
查看>>
【转】使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
查看>>
CF1146G Zoning Restrictions
查看>>