标签:
一,设置远程访问
logout 当前账户,使用 git 账户登录;在 System Preferences->Sharing 中,勾选:Web Sharing 和 Remote Logig。
二. 下载安装gitosis
1,Mac Snow默认已经为我们安装了 Git 和 Python,可以使用如下命令查看其版本信息:
yourname:~ git$ git --version
git version 1.7.3.4
yourname:~ git$ python --version
Python 2.6.1
2,通过命令 git clone https://github.com/tv42/gitosis.git
3,进入 gitosis 目录,使用命令 "sudo python setup.py install" 来执行 python 脚本来安装 gitosis。
yourname:~ wei_jingyun$ cd gitosis/
yourname:gitosis wei_jingyun$ sudo python setup.py install
running install
running bdist_egg
running egg_info
creating gitosis.egg-info
……
Using /Library/Python/2.6/site-packages/setuptools-0.6c9-py2.6.egg
Finished processing dependencies for gitosis==0.2
三.在客户端 制作公钥
bash-3.2$ cd ~
bash-3.2$ ssh-keygen -t rsa
为方便管理可以将该公钥重新命名后拷贝到服务器
四.在服务器 配置该公钥 允许其访问
注意: /tmp/yourname.pub 为公钥路径, 你需要将客户端生成的公钥拷到该服务器 填写所在路径即可
yourname:gitosis git$ sudo -H -u git gitosis-init < /tmp/yourname.pub
在这里,会将该 client 当做认证受信任的账户,因此在 用户文件 的 .ssh 目录下会有记录,文件 authorized_keys 的内容与 yourname.pub 差不多。
authorized_keys 文件下有追加的公钥信息
我们需要将 authorizd_keys 稍做修改,用文本编辑器打开它,删除里面的"command="gitosis-serve yourname",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " 这一行:
之后如果还要添加公钥信息如果用上面方法可能无法添加新的一直添加以前的,我们可以直接将 新的公钥信息加到
authorized_keys 文件即可 cat 命令将某个文件追加到另一个文件.
localhost:~ wei_jingyun$ cat id_rsa.pub >> authorized_keys
然后,我们对 post-update 赋予可写权限,以便 client 端可以提交更改。 wei_jingyun需要替换成自己的
localhost:~ wei_jingyun$ sudo chmod 755 /Users/wei_jingyun/repositories//gitosis-admin.git/hooks/post-update
Password:
localhost:~ wei_jingyun$ cd ~
localhost:~ wei_jingyun$ cd repositories/
localhost:~ wei_jingyun$ ls
gitosis-admin.git
最后一步,修改 git 账户的 PATH 路径。
yourname:gitosis git$ touch ~/.bashrc
yourname:gitosis git$ echo PATH=/usr/local/bin:/usr/local/git/bin:\$PATH > .bashrc
yourname:gitosis git$ echo export PATH >> .bashrc
yourname:gitosis git$ cat .bashrc
PATH=/usr/local/bin:/usr/local/git/bin:$PATH
export PATH
至此,服务器的配置完成。
五.客户端的配置
1,首先在 terminal 输入如下命令修改 local 的 git 配置:
bash-3.2$ git config --global user.name "这个会显示谁提交的代码"
bash-3.2$ git config --global user.email "必须和公钥最后那个一致 yinli@localhost"
2,测试服务器是否连接正确,将 10.1.4.211 换成你服务的名称或服务器地址即可。
yourname:~ local_account$ ssh 主机账户(wei_jingyun)@10.1.4.211
Last login: Mon Nov 7 13:11:38 2011 from 10.1.4.211
3,在本地 clone 服务器仓库,下面以 gitosis-admin.git 为例:
bash-3.2$ git clone 主机账户(wei_jingyun):repositories/gitosis-admin.git
六.如何添加新用户和新的存储库.
标签:
原文地址:http://www.cnblogs.com/weijingyun/p/4716858.html