在Windows server2008上搭建git仓库(Git+ copssh+TortoiseGit)

git
从朋友手上接管了一台阿里的云服务器,我想在上面建立一个git代码仓库,不知道为什么他们竟然装了windows server 2008而且还是32bit的…而这个服务器上还有一些别的文件和服务在运行,所以也不方便直接重装系统,这让我感到一阵蛋蛋的忧伤。没办法,那就试试在windows上部署吧。谷歌百度查了一堆发现在windows上部署git的方法有很多种,而大家介绍的方法应该都是可以成功的,只是有一些坑,我反正是踩着这些坑弄了一下午才把这个仓库搭建好。所以就记录下来吧,我选择的方案是:Git+ copssh+TortoiseGit。

软件安装

  1. 首先安装Git,这个没啥好说的,去官网根据系统版本下载对应的最新版本git即可。
  2. 安装copssh,这里我使用的是4.1版本,官网下载可能会收费了,不想付费的话,去别的网站下载一下就可以,无需破解下载安装即可使用。安装的时候有一些坑要注意一下,第一,安装路径最好不要默认路径,而应该选择一个驱动器根目录下的文件夹,例如C:\copssh。第二,会要求指定一个用户,这个用户其实就是后面你需要建立仓库需要的账户信息,建议输入用户名:git,密码自定(反正不会使用的)。安装完成之后,网上别的网友分享的经验说需要将git下的libiconv-2.dll、git.exe、git-receive-pack.exe、git-upload-archive.exe、git-upload-pack.exe这五个文件拷贝到copssh的bin目录下,然而经过我的测试,不仅仅是这几个,还有好多…所以我建议直接将git安装目录下的mingw32/bin下的所有文件都拷贝过来(我是以32bit做示范的,如果是64bit,可能是git目录下的libexec\git-core目录下。

配置COPSSH

完成上述步骤之后,我们来配置一下ssh的账户,打开开始菜单下的COPSSH CONTROL PANEL,这时候我们会看到有个绿色的灯亮着,说明服务是正常启动着的。选择User选项卡,点击AddCOPSSH这时候选择刚才我们安装copssh的时候新建的那个用户名,然后将Allow password authentication选项去掉,其他两个保留,Access Type选择Linux and shell,完成之后,点击keys,生成一个git账户的key.ppk,放到C盘根目录下备用。这时候服务器端的配置基本就完成了
2

测试及使用

在server和client端都安装TortoiseGit,在server端使用TortoiseGit自带的工具PuTTYgen将上一步生成的key转换一下,就是打开工具,点击file,选好key,然后点一下保存,另存为一个新的名字。将这个key拷贝到client上QQ图片20160306224435

进入copssh的home目录,这时候应该能看到一个上面设置的用户名所属的文件夹,例如我设置的是git,则文件夹为git,里面有.ssh之类的文件夹,进入git文件夹,然后在这里新建一个文件夹用来存储代码。我建立了一个project文件夹。打开git bash,输入下列命令:

1
2
3
mkdir myproject    //创建我的项目目录,命名为myproject
cd myproject      //进入该目录
git init --bare    //初始化该仓库(--bare参数用于初始化“裸仓库”)

一切准备就绪,到client的某个希望pull代码的目录,右键Git Clone,这时候Load Putty Key,也就是第四步拷贝到client的那个转换过的privateKey文件。填写URL的时候要注意ssh://<你设置的copssh用户名>@<服务器ip或者域名>:22/copssh/home/git/project/test ,这里需要注意的是根目录是磁盘的根目录,也就是说项目地址要填写完整。唔~以上…

6

2016年3月6日 22:58:06

坚持原创技术分享,您的支持将鼓励我继续创作!