转自http://blog.csdn.net/ccf0703
1、所需的软件下载及安装
所需工具下载地址:
msysgit http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
copssh http://www.onlinedown.net/soft/20018.htm
若只要使用git,只需要安装msysgit就行了。copssh是一个ssh服务器软件。
msysgit的安装:
我把安装中关键的几步截图说明,其余直接点击next 就行。
关于安装路径说明,最好放到每个盘的根目录下,这里我放到了c盘根目录下,注意:路径最好不要有空格,因为空格不好处理,所以这也是没有放到Program Files目录下的原因。
接下来的几步,按照图片所示选择即可
然后等待安装完成即可
copssh的安装直接下一步就行。需要注意的还是路径问题,跟上面一样,最好放在根目录下,我这里放到了d盘。
安装完成。所需环境已经搭好了。
2、对程序做相应配置
一、git相应配置
打开这个图标,进入命令行。在这里,git的命令都可以使用,配置好git的user.name和user.email。git的使用,这里不多说。
接着,在命令行下,使用命令
ssh-keygen -t rsa
创建一对公私钥,默认放到当前用户目录下的.ssh文件夹中。用记事本打开后缀为.pub的公钥文件,复制其中的内容,用于接下来的copssh的配置。
二、copssh的配置
从开始菜单中找到安装好的copssh文件夹,打开其中的COPSSH Control Panel。
切换到Users选项卡。若Activated users下为空,则点击旁边的“Add”按钮。
在弹出的窗口中点击“Forward”,进入下一步,接着,在User中选择一个用户后,点击“Forward”,接着把options的第一个选 项“Allow password authentication”的勾去掉,因为我们要用公私钥来登陆,不用密码登陆。接着点击“Forward”完成用户添加。添加后应该如下图。
接着,点击右下方的“Keys”按钮,弹出窗口。这里显示的就是ssh服务器中保存的公钥信息了。若有公钥信息,用户就可以使用对应的私钥来远程登 陆到ssh服务器进行相应的操作了。第一次我们安装的时候,public key里应该是空的,我们现在要做的,就是把上一步中,我们自己生产的公钥的信息,添加到这里来,步骤如下。
找到COPSSH的安装目录,然后打开其中的home文件夹,可以看到里面有以我们刚加入的user的名字命名的文件夹,进入其中,打开.ssh文 件夹。在里面新建一个名字为authorized_keys的文件。注意,这里没有任何后缀。然后用记事本打开,然后将刚才我们配置git时产生的公钥里 的全部信息复制拷贝到这个文件里。然后,保存退出。
回到COPSSH Control Panel中,将点击“Keys”产生的窗口关闭后,再打开,会看到其中有了一个公钥信息了,如下图。
到了这里,我们已经可以使用我们的私钥,来登陆这个ssh服务器了。打开“Git Bash”。在命令行里输入
ssh ccf@192.168.1.100
ccf就是在COPSSH中配置的用户名,192.168.1.100是我的ip地址,这些都根据你自己的设置,配置成自己的信息。登陆成功后如下图。
接下来你会发现,登陆成功以后,可以使用linux的命令,但是git的命令还是不能使用,别急,接下来我们解决这个问题。
我使用的解决方法很简单,如下。
将$ Gitlibexecgit-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICWin目录下
将$Git下的share目录整个拷贝到$ICW下。
其中,$Git是指msysgit的安装目录 ,同理$ICW指COPSSH的安装目录。
至此,配置完毕,接下来,开始使用。
3、git服务器的测试
打开“Git Bash”,使用命令
ssh ccf@192.168.1.100
连接到ssh服务器。这个命令上面有说明。
然后依次使用下列命令
mkdir test.git
cd test.git
git init --bare
新建一个名为test.git的文件,并在其中建立一个纯git仓库。
然后使用命令exit退出ssh服务器
然后依次输入下面命令:
cd d:
mkdir test
cd test
git clone ccf@192.168.1.100:test.git .
在d盘下新建一个test文件夹并从服务器clone一个git仓库。
接着依次输入下列命令
touch a b c
git status
git add .
git commit -m "just for test"
git push origin master
一切正常,也能push到服务器上,至此,git服务器搭建并测试完毕。