SSH Git Server on Windows

首先,需要安装两个工具:
1、Git,Windows下的Git,还是msysGit比较好。

安装简单,除了修改安装路径外,一路默认即可,相关配置请见:《msysGit的配置及中文支持》


2、SSH,可以用CopSSH,可以在Windows上启动SSH服务,而不仅是客户端。
注意:安装CopSSH的时候会给Windows添加一个管理员用户,虽然这个用户已经被添加了,但是CopSSH还不能使用它,需要在CopSSH控制面板里设置一下。还有就是这个用户会在Windows登录界面显示出来,要避免这个问题,请记下刚才安装时添加的用户名,然后替换下面代码中的“(user)”(不含引号),并添加到注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"(user)"=dword:00000000
另外,最好把msysGit和CopSSH安装目录下的bin目录加入Windows的系统环境变量的PATH内,以方便调用。
这时,从其它机器用git用户通过ssh登录以后,可以执行ls,cd等基本命令。但是git任然不能运行。所以,也就还不能通过这个ssh来发布git版本库了。要实现这个,需要做一些设置。

开始菜单-->CopSSH-->02. Start a Unix BASH Shell
假设你的msysGit和CopSSH的安装路径分别为:D:\GitServices\Git D:\GitServices\ICW
依次执行如下命令:
cd /bin
ln -s /cygdrive/d/Program\ Files/Git/bin/git.exe git.exe
ln -s /cygdrive/d/Program\ Files/Git/libexec/git-core/git-receive-pack.exe git-receive-pack.exe
ln -s /cygdrive/d/Program\ Files/Git/libexec/git-core/git-upload-archive.exe git-upload-archive.exe
ln -s /cygdrive/d/Program\ Files/Git/libexec/git-core/git-upload-pack.exe git-upload-pack.exe
然后,登录SSH就可以使用git命令了。
$ mount
D:/Program Files/ICW/etc/terminfo on /usr/share/terminfo type vfat (binary,noacl)
D:/Program Files/ICW/bin on /usr/bin type vfat (binary,noacl)
D:/Program Files/ICW/lib on /usr/lib type vfat (binary,auto)
D:/Program Files/ICW on / type vfat (binary,noacl)
C: on /cygdrive/c type vfat (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type vfat (binary,posix=0,user,noumount,auto)

你可能感兴趣的:(SSH Git Server on Windows)