Windows上搭建Git服务器
客户端:准备TortoiseGit,MSysGit
1.安装TortoiseGit和MSysGit,完成后就可以在本地使用git了。这里我没完全安装MSysGit,只是复制了两个文件git.exe,iconlibv2.dll到C盘上,然后在TortoiseGit-Settings里指定git.exe路径就行了。
2.打开puttygen,"generate"移动鼠标生成一个密钥,把上面公钥部分复制粘贴到文本文件里,点"Save Private Key"把私钥保存一个文件,如mygit.ppk.
服务器:准备copssh,MSysGit
1.准备好一个存放代码库的分区,如E盘,新建一个E:/code目录。在E盘安装copssh,如E:/ICW.
安装过程要新建一个ssh用户(也可用现有用户,但最好不要用administrator),这里我们建一个git用户,专门做代码提交,密码随便设即可,因为后面我们用密钥而不是用密码登录。
2.在copssh里激活git用户,去掉"Create keys for public key authentication"选项,后面每个用户要单独提交;
3.编辑etc/sshd_config,去掉"RSAAuthentication", "PubkeyAuthentication"前面的#注释,保存;
4.在ICW/home/git/.ssh里新建一个authorized_keys文件,把客户端step2的公钥复制过来(其他客户端就新增一行),重新启动"openssh SSHD"服务;
5.复制MSysGit的几个文件到ICW/bin: git.exe,iconlibv2.dll, git-receive-pack.exe, git-upload-pack.exe, git-upload-archive.exe
6.把E:/code文件夹加上git用户的写权限,新建一个myproj文件夹,用命令行进入myproj目录,用git建一个空的纯仓库
git --bare init
回到客户端电脑,右键TortoiseGit-Clone,输入ssh://git@server:/code/myproj,选中Load putty key之前保存的私钥文件,OK即可把服务器上的空代码库myproj克隆下来。再添加一个main.c,随便修改一些内容后保存,右键myproj, git Commit -> "master", OK之后再push到服务器即可。
其他还有一些技巧,如从现有的仓库复制纯代码库、远程增加等等,可以参考pro_git中文版。
这里比较复杂的就是服务器的3,4步,否则无法SSH登陆,我又用openssh试了下,能登录但是用TortoiseGit的路径总是不对。