1、在Win7中创建用户git
2、安装Cygwin
Cygwin安装包需要选择如下包:
Devel下的git、git-completion、git-gui、gitk
Editors下的vi或者emacs
Net下的openssh
Python下的python
安装完成后以管理员身份运行Cygwin,运行命令cyglsa-config,配置完成后重新启动计算机
3、配置ssh服务
以管理员身份运行Cygwin,运行命令ssh-host-config
Query:Should privilege separation be used?(yes/no)输入yes
Query:new local account 'sshd'?(yes/no) 输入yes
Query:Do you want to install sshd as a service?
Query:(Say "no" if it is already installed as a service)输入yes
Query:Enter the value of CYGWIN for the daemon: [ ]输入mintty或者直接回车确认
Info: This script plans to use 'cyg_server'.
Info: 'cyg_server' will only be used by registerd services.
Query: Do you want to use a different name?(yes/no)输入no
Query: Create new privileged user account 'cyg_server'?(yes/no)输入yes
接下来输入cyg_server用户的密码,完成sshd服务的配置
配置Windows防火墙,打开TCP端口22.
3、测试sshd服务
输入命令ssh git@localhost,输入git用户密码,如果能成功登录,说明sshd安装配置成功
4、生成gitolite用户密钥对
使用ssh-user-config或者ssh-keygen生成密钥对,一个用于登录git账户使用,一个用于安装gitolite使用。
我使用ssh-user-config生成安装gitolite的密钥对,命名为my-name
使用ssh-keygen生成git密钥对,命名为gitolite-admin
使用管理员登录cygwin
用命令ssh-copy-id将gitolite-admin密钥导入git账户的ssh对应配置文件
ssh-copy-id -i gitoite-key-path/gitolite-admin git@git-server。其中gitolite-key-path为你存放密钥gitolite-admin的目录
用命令将scp将密钥my-name.pub上传至git主目录
scp -i gitolite-key-path/gitolite-admin my-name-key-path/my-name.pub git@git-server:my-name.pub。其中my-name-key-path为存放公钥my-name.pub的路径。
4、安装配置Gitolite
使用第3步生成的密钥登录git-server.
ssh -i gitolite-admin git@git-server
下载gitolite
git clone git://github.com/sitaramc/gitolite
使用vim或者emacs编辑.bashrc文件,在其中添加一行代码
PATH=/home/git/bin:$PATH
保存并退出,运行命令source .bashrc重新加载环境变量
在git主目录下建立bin目录,mkdir $HOME/bin
运行命令gitolite/install -to $HOME/bin
运行命令gitolite setup -pk my-name.pub
5、使用gitolite创建新项目
gitolite安装完成后,默认生成两个git库,分别是gitolite-admin和testing
其中,testing是测试库,默认所有用户都具有读写权限
gitolite-admin库是gitolite的管理库,新的git的创建实际上是通过该库创建的。
gitolite-admin库默认的读写权限是my-name,将my-name复制出来,使用puttygen打开私钥文件my-name,保存为Putty格式的文件my-name.ppk
使用TortoiseGit签出gitolite-admin
打开配置文件,添加新项目,提交并push。