在 Windows 环境下搭建 Git 服务
在 Windows 下最常用的版本控制工具是 SVN,黄金搭档为 VS+Tortoise SVN+AnkSVN,这种搭配适合于小型企业内部的开发管理,但是随着开源热潮的袭来,越来越多的人开始使用 Git 进行版本控制,而且它还能很好的支持分布式版本控制,很适合互联网上多人参与的项目。所以,本文就来说说如何在 Windows 上配置 Git 服务。
一、准备工作
我们需要先下载下面这三个软件:
1、Git(2.8 及以上版本)
2、Copssh_4.1.0_Installer.exe
3、TortoiseGit
二、安装与配置
1、安装 Git,下面是几个需要注意的地方,其它保持默认。
2、安装完 Git 之后,将“C:\Git\bin”添加到 windows 的环境变量中。
3、安装 Copssh。
注:因为以后的所有仓库都要放在“ICW/home/用户名
”下面,所以,可以把 ICW 安装在 E 盘或其它空间比较充足的磁盘。
这里的服务账户名不能设置成“Administrator
”和“Root
”。
4、添加 windows 用户。
5、添加 SSH 用户。
6、添加“C:\ICW\bin
”到 windows 环境变量中。
7、登录 SSH。
打开命令行,然后输入下图命令:
其中,007@127.0.0.1
:007
是我们上面创建的 ssh 用户名,127.0.0.1
是服务器地址,正式环境下可以使用域名。
注:强烈建议使用域名而不用使用 IP 地址。
8、这个时候我们在 bash 环境下输入“git
”,并不能成功,它将提示我们命令未找到。
所以接下来我们需要将 ssh 与 git 集成起来。
9、集成 ssh 与 git
集成的主要思想就是将“C:\Git\bin”目录下的“git.exe”、“git-receive-pack.exe”、“git-upload-archive.exe”、“git-upload-pack.exe”四个文件的快捷方式添加到“C:\ICW\bin”目录下。所以,我们可以通过在 bash 命令行中使用 ln 命令来链接。其中,“git-receive-pack.exe”、“git-upload-archive.exe”、“git-upload-pack.exe”三个文件是在“C:\Git\mingw64\libexec\git-core”目录下。
所以链接的命令如下:
ln -s /cygdrive/c/git/bin/git.exe git.exe
ln -s /cygdrive/c/git/mingw64/libexec/git-core/git-receive-pack.exe git-receive-pack.exe
ln -s /cygdrive/c/git/mingw64/libexec/git-core/git-upload-archive.exe git-upload-archive.exe
ln -s /cygdrive/c/git/mingw64/libexec/git-core/git-upload-pack.exe git-upload-pack.exe
注意:在 bash 命令中,是不认 windows 路径的,必须转换成 unix/linux 路径,其中“/cygdrive/c/
”就表示 windows 下的“c:\
”。
10、使用普通用户登录 SSH,测试“git
”命令是否可用。
可以看出,这时的“git
”命令已经可以在 bash 下正确识别了。
三、初始化一个 Git Repository
1、进入用户“007”的主目录“C:\ICW\home\007”,然后创建一个文件夹,名称就是项目的名称,例如:“corefx”
2、进入“corefx”目录,然后右键“在当前位置打开命令行”,然后执行命令“git --bare init
”
3、进入“.ssh”文件夹:cd ~/.ssh
4、生成公钥:ssh-keygen -t rsa -C "007@suziyun.com"
//默认名称为id_rsa
四、安装TortoiseGit
五、克隆一个项目
1、新建一个空的文件夹,然后右键点击“git clone
”。
2、输入远程仓库的地址“007@git.suziyun.com:corefx
”,其中,007
是git用户名,git.suziyun.com
是远程服务器地址,corefx
是项目名称。格式为:用户名@服务器地址:项目名称
3、输入密码。
4、下载完成。
注:如果遇到Host啊、Key啊什么问题的,直接把本地“C:\Users\Administrator\.ssh\known_hosts
”文件里面的东西全删掉就OK了。