git版本控制gitosis的安装与使用是怎样的

git版本控制gitosis的安装与使用是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联公司-专业网站定制、快速模板网站建设、高性价比吴兴网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式吴兴网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖吴兴地区。费用合理售后完善,十载实体公司更值得信赖。

gitosis是Git下的权限管理工具,通过一个特殊的仓库(gitosis-admin.git)对Git权限进行管理。

一、服务端安装并配置gitosis

(1)通过以下方式获取到安装包

root@wz:/home/git# git clone https://github.com/res0nat0r/gitosis

(2)使用python进行安装

root@wz:/home/git# python gitosis/setup.py install

(3)将authorized_keys移除或重新命名为authorized_keys.bak,Gitosis 将为我们管理公钥,后再重新添加公钥,并且让 Gitosis 自动控制authorized_keys文件。

root@wz:/home/git/.ssh# pwd

/home/git/.ssh

(4)将之前的git用户bash登陆设置修改过来

vim /etc/passwd

46 git:x:1002:1002:,,,:/home/git:/bin/bash

(5)初始化 Gitosis ,需要通过自己的公钥来运行gitosis-init,首先将我本地的公钥复制到服务端:

y@y:git$ scp /home/y/.ssh/id_rsa.pub  wzh@192.168.0.143:tmp/

wzh@192.168.0.143's password: 

id_rsa.pub                                       100%  399     0.4KB/s   00:00    

y@y:git$ 

服务端执行以下操作:注意不是在超级管理员用户下的:

wzh@wz:/home/git$ sudo -H -u git gitosis-init < ~/tmp/id_rsa.pub

这样该公钥的拥有者就能修改包含着 Gitosis 设置的那个 Git 仓库了。

此时目录结构如下:

git版本控制gitosis的安装与使用是怎样的

同时.ssh下面会生成一个:authorized_keys文件

git版本控制gitosis的安装与使用是怎样的

由gitosis管理的仓库放在:repositories/目录下面

此时在repositories/目录下面初始化一个空的仓库:

git版本控制gitosis的安装与使用是怎样的

二、客户端操作gitosis

    (1)现在可以试一下用初始化 Gitosis 公钥的拥有者身份 SSH 进服务器

git版本控制gitosis的安装与使用是怎样的

    说明 Gitosis 认出了该用户的身份,但由于没有运行任何 Git 命令所以它切断了连接。

    (2)克隆 Gitosis 的控制仓库到本地:

git版本控制gitosis的安装与使用是怎样的

    注意:IP后面直接跟仓库的名称,无需路径,gitosis-admin.git在服务端的           repositories/目录下面。

    gitosis-admin目录结构如下:

git版本控制gitosis的安装与使用是怎样的

gitosis.conf文件是用来设置用户、仓库和权限的控制文件。

keydir 目录则是保存所有具有访问权限用户公钥的地方每人一个。

(3)修改 gitosis.conf配置文件并同步到服务端:其操作方式与普通的Git仓库一致,

git版本控制gitosis的安装与使用是怎样的

提交到服务端之后,查看服务端:

git版本控制gitosis的安装与使用是怎样的

(4)如果是多人协助开发同用一个版本库,则需要将他们每个人的公钥文件添加到keydir文件夹然后push到服务端。

git版本控制gitosis的安装与使用是怎样的

文件的命名将决定在gitosis.conf配置文件中的称呼。

例如:参考《ProGit》

现在我们为 John,Josie 和 Jessica 添加公钥:

    $ cp /tmp/id_rsa.john.pub keydir/john.pub

    $ cp /tmp/id_rsa.josie.pub keydir/josie.pub

    $ cp /tmp/id_rsa.jessica.pub keydir/jessica.pub

然后把他们都加进 ‘mobile’ 团队,让他们对iphone_project具有读写权限:

[group mobile]

writable = iphone_project

members = scott john josie jessica

Gitosis 也具有简单的访问控制功能。如果想让 John 只有读权限,可以这样做:

[group mobile]

writable = iphone_project

members = scott josie jessica

[group mobile_ro]

readonly = iphone_project

members = john

现在 John 可以克隆和获取更新,但 Gitosis 不会允许他向项目推送任何内容。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。

本文名称:git版本控制gitosis的安装与使用是怎样的
网页链接:https://www.cdcxhl.com/article2/pidhoc.html

成都网站建设公司_创新互联,为您提供电子商务搜索引擎优化网站制作营销型网站建设用户体验全网营销推广

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设