写在前面

公司为实现多人协作开发,决定在本公司局域网内搭建一套git 系统。

下载

Git(选择系统相对应的版本)
Copssh
以上两个为必需,非必需的软件有Tortoisegit,这个是替代命令行的一个外壳。
服务器上安装Git和Copssh,客服端上安装Git即可。

安装

此次安装环境是WinServer2008

1、服务器安装Git

局域网部署 tortoisesvn_局域网部署 tortoisesvn



局域网部署 tortoisesvn_命令行_02




局域网部署 tortoisesvn_命令行_03


其他的都可以下一步

2、服务器安装Copssh

局域网部署 tortoisesvn_命令行_04


这一步需要设置用户和密码,实际上是在给服务器增加了一个账户,客户端访问时就通过这个账户来访问,我设置的账户名是Git,这里后面会有用到。



局域网部署 tortoisesvn_git_05

注意: 服务器系统是Winserver,当我设置简单的密码123时,出现软件打不开的问题,后来修改为复杂密码后可以正常打开。


3、客户端安装Git 按照第一步的来

4、在客户端上打开Git Bash输入

$ ssh git@192.168.199.10//这是服务器主机ip

局域网部署 tortoisesvn_服务器_06


这是因为Copssh没有添加可访问账户的原因5、配置Copssh

左下角打开Copssh Panel Control 这个图标

局域网部署 tortoisesvn_命令行_07


点击Add 添加相应账户,再重复第4步就可以了。

服务器配置

1、Git配置、将Git目录下的这三个路径添加到环境变量Path中。(在使用时请替换成自己的安装路径)

C:\Git\mingw64\bin

C:\Git\mingw64\libexec\git-core

C:\Git\mingw64\libexec\git-core\mergetools

打开Git Bash 命令行,输入

$ git config --global user.email "XXX@qq.com"
$ git config --global user.name "XXX"

2 、Copssh 配置

在“开始”菜单中找到”COPSSH Control Panel “打开,点击Users栏,添加CopSSH用户。

局域网部署 tortoisesvn_服务器_08



局域网部署 tortoisesvn_服务器_09



3、现在Git和Copssh都单独配置完成了,现在需要将Git安装目录下C:\Git\mingw64\bin中的git.exe、git-receive-pack.exe、git-upload-archive.exe、git-upload-pack.exe、libiconv-2.dll五个文件拷贝到Copssh安装目录bin文件夹中。

4、打开Copssh安装路径下etc/profile文件。在最后追加四行命令

gitpath='/cygdrive/c/Git/mingw64/bin'
gitcorepath='cygdrive/c/Git/mingw64/libexec/git-core'
gitmergetoolspath='cygdrive/c/Git/mingw64/libexec/git-core/mergetools'
export PATH="/bin:$syspath:$gitpath:$gitcorepath:$gitmergetoolspath:$winpath"

保存,重启Copssh服务。
注:第3、4步是将Copssh和Git联系起来,完成Git的操作作用。

测试

打开Git Bash命令行。使用ssh git@192.168.0.22命令,稍后输入git帐号的密码就就可以登录git帐号了。登录成功后创建一个test文件夹,然后进入到test文件夹中输入git init --bare就可以将test仓库创建成功了

局域网部署 tortoisesvn_命令行_10


现在我们需要在C盘根目录clone出刚才创建的test仓库。还是打开Git Bash(注意在客户端打开)命令行,进入的C盘根目录。

克隆仓库:git clone git@192.168.0.22:test
将文件添加到缓存区:git add .
提交修改:git commit -m “注释”
push 到仓库:git push origin master

结束

安装、配置基本完成,也可以实现基本的版本管理,尚存在一点问题,无法实现免密,每次clone 和push 都要输入密码。还有服务器上找不到版本的目录,这个后续再来完善。

参考资料 Windows搭建Git仓库(Git+Copssh)、Windows Git仓库遇到的坑及使用public key authentication进行认证