注意,“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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库git配置文档(配置管理员版) - 图文(2)在线全文阅读。
相关推荐: