gitosis admin and config
工作中准备使用git
网管已配置好服务器,未配置用户和项目。
这篇笔记不涉及服务器的安装,包含了安装后的用户添加和项目添加。
首先git有几个概念
git仓库服务器,git仓库管理人员PC,git客户端PC
git的管理很git,用git commit and push来管理~
所以git仓库管理人员PC,会克隆一个特殊仓库,gitosis-admin.git
* git仓库管理人员PC 克隆管理仓库。
//前提条件,PC上.ssh目录包含了服务器已配置的git root的密钥。
#git clone git@192.168.2.27:gitosis-admin.git
* 新建用户(管理帐号)和项目名称
1、修改刚才pull下来的gitosis.conf文件。
[gitosis] [group gitosis-admin] members = root@git writable = gitosis-admin [group xFace3-wp] members = u0u0 writable = xFace3-wp
2、keydir里面对应添加
u0u0.pub文件。(ssh-keygen -t rsa生成)
注意:key的文件名必须和配置文件中的保持一致。
#git add keydir/u0u0.pub #git commit -a -m"add user and project" #git push
*初始化项目(切换到用户帐号u0u0)
#mkdir xFace3-wp #cd xFace3-wp #git init #touch test.txt #git add . #git config user.email "you@example.com" #git config user.name "u0u0" #git commit -a -m 'init xFace3-wp' #git remote add origin git@192.168.2.27:xFace3-wp.git #git push origin master
============以上假定三个角色在不同的pc或不用的用户下============
如何既是git仓库管理员,又是开发人员,在自己的电脑上切换用户显然不是很方便,
这时候我们需要ssh-keygen来管理多个帐号。
同一电脑上同用户下多个git帐号配置.
1、修改~/.ssh/config
Host root_git HostName 192.168.2.27 User git IdentityFile ~/.ssh/gitroot/id_rsa Host liukn_git HostName 192.168.2.27 User git IdentityFile ~/.ssh/gitliukn/id_rsa
虽然修改了ssh的配置文件,但是ssh-agent里面没有cache,可能还是会出现只能一个帐号登陆的情况。或者是切换一个帐号再用另一个就不行了。
我们需要手动加入到ssh-agent中去(每次开机都要重加,便捷的方式是加入到bash_profile)
添加
#ssh-add ~/.ssh/gitroot/id_rsa Identity added: /Users/u0u0/.ssh/gitroot/id_rsa (/Users/u0u0/.ssh/gitroot/id_rsa)
查看结果
#ssh-add -l 2048 1d:3d:37:43:f6:a1:1d:a4:36:7c:ee:a3:de:da:e1:80 /Users/u0u0/.ssh/gitliukn/id_rsa (RSA) 2048 10:03:a6:4f:03:4e:0c:80:6f:4c:ef:51:73:96:d8:32 /Users/u0u0/.ssh/gitroot/id_rsa (RSA)
现在由root_git和liukn_git别名来区分不用帐号
#git clone liukn_git@xFace3-wp.git
或者
#git clone root_git@gitosis-admin.git