git配置文档(配置管理员版) - 图文(2)

2020-06-05 10:48

注意,“git-server”是ssh连接的别名,只要起个你可以记住的名字即可,“192.168.17.202”是代码服务器的地址,目前就是192.168.17.202,identityfilr标记的是你使用的私钥文件名(根据你之前生成的私钥名来配置,不要带.pub后缀)。

配置完后保存退出,以后就可以用“git-server”来代替git库的ip域名和登陆用户名了。配置完后,一旦管理员已将你的公钥加入代码库中,你可以通过如下方式验证是否SSH链接是否配置成功。 右键-》“Git Bash Here” $ssh git-server

如果出现上述欢迎信息,恭喜你,已通过ssh安全验证并已成为管理员。

代码配置管理库导入

项目通过Gitolite来管理git库所有项目的权限,需要在client上把server上的repository clone下来,在本地做一些更改,再push回server,server端的hooks会根据push上来的配置来更新权限。

Gitolite服务器部署(目前服务器已部署,此步可略过)

1. 在git server创建一个专有用户,用于管理git,所有git用户都将使用次用户访问git server。 $ useradd git

2. 管理员需要在本地自己机器(要做git管理的用户机器)上创建SSH公钥/私钥对。 $ ssh-keygen -f ~/.ssh/git-admin

!!!注意千万不要运行下面的命令将 .ssh/git-admin.pub 公钥文件追加到远程主机 server 的 user 主目录下的.ssh/authorized_keys 文件中 将管理员的公钥文件拷贝至服务器

$ ssh-copy-id -i .ssh/git-admin.pub git@192.168.17.202

为了方便管理和不至于和其他公钥私钥混淆,先配置下SSH客户端的文件 ~/.ssh/config, 可以通过创建主机别名,在连接主机时,使用特定的公钥。例如 ~/.ssh/config 文件中的下列配置: host git-server user git

hostname 10.0.0.1 port 22

identityfile ~/.ssh/git-admin 3 在服务器上安装gitolite

(1) 首先把管理员的公钥copy到服务器上(也可以通过ssh client) scp .ssh/git-admin.pub git-server:/tmp/admin.pub

(2) 下载gitolite 在git的用户目录下运行

git clone https://github.com/sitaramc/gitolite (3) 安装

[git@git-server ~]$ mkdir bin 运行

[git@git-server ~]$ gitolite/install -ln [git@git-server ~]$ [git@git-server ~]$ ls bin gitolite

[git@git-server ~]$ cd bin [git@git-server bin]$ ls gitolite

会在bin下生成一个gitolite可执行文件 运行:

[git@git-server bin]$ gitolite setup -pk /tmp/admin.pub

Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/ Initialized empty Git repository in /home/git/repositories/testing.git/

1 Can’t locate Time/HiRes.pm Perl 2 ......

这是由于PERL安装不完整造成的,在CentOS上可以这样处理:

yum install perl-Time-HiRes # 或者更加 BT一点 yum install perl*

安装成功后,此命令会在你的~/repositories/目录生成两个repository:gitolite-admin.git和testing.git [git@git-server ~]$ cd repositories/ [git@git-server repositories]$ ls gitolite-admin.git testing.git [git@git-server repositories]$ cd ..

用户目录下生成一个project.list,默认里面有一个testing的git的project [git@git-server ~]$ more projects.list testing.git

[git@git-server ~]$ 安装完毕!

配置权限

配置权限的过程其实就是管理员使用管理员的pubkey 把gitolite-admin克隆到本地,做一些配置修改,然后push到git服务器的过程。

一定要用git-admin的pubkey。因为前面已经做了config,所以当连接git-server这台设备时,用的就是git-admin的public key。

!!!注意,上面的命令一定要是git clone git-server:gitolite-admin, 而不是:git clone git-server:/home/git/repositories/gitolite-admin 更不是:git clone git-server:gitolite-admin.git

假如你运行git clone git-server:gitolite-admin失败,例如:

上面的原因很有可能是因为git server 的 user 主目录下的 .ssh/authorized_keys 文件,在安装gitolite之前,已经有了你的pubkey,可以把删除掉,只留”#gitolite start” 和 “gitolite-end”之间的内容。

clone完后会有个新的目录gitolite-admin,里面有两个文件夹conf和keydir,第一个目录中包含的是配置文件,里面就是记录权限配置的地方,第二个目录中则包含所有用户的pub key。

penxiao@ubuntu:~/git/gitolite-admin$ ls conf keydir

penxiao@ubuntu:~/git/gitolite-admin$

现在我们打开配置文件,按照我们的权限配置需要进行设置 penxiao@ubuntu:~/git$ vim gitolite-admin/conf/gitolite.conf 文件内容如下很简单: repo gitolite-admin


git配置文档(配置管理员版) - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第十课至十二颗备课

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: