本文将介绍如何在Windows操作系统下搭建Git服务器和客户端。服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用。客户端是采用的TortoiseGit工具,UI操作,省去输入命令的麻烦,对于windows用户来说更易于使用。

所需软件:

一:配置服务器端

  以下案例服务器环境是基于Windows7 + IIS7 + Bonobo Git Server 3.4.3 + WebDAV ,其他版本的操作系统或IIS略有不同

  Windows Server 2016 + IIS8 + Bonobo Git Server 6.3.0 已验证可用,并更新了以下文档

  1. 在Windows7下打开IIS7功能。开始-》控制面板-》程序-》打开或关闭windows功能,勾选Internet Information Services的选项。不会的可以谷歌或百度下。
  2. 下载最新版的Bonobo Git Server。这是一个.zip压缩包文件,里面是用ASP.NET MVC开发的网站
  3. 解压上步下载的压缩包到C:\inetpub\wwwroot。
  4. 修改APP_Data文件夹权限。允许IIS用户修改网站代码中的(C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data)文件夹,所以需要做如下配置:
    • 在APP_Data文件夹上右键选择“属性”
    • 到“Security”(安全)的Tab页点击“Edit”(编辑)
    • 给IIS_IUSRS赋予Write和Modify权限。
  5. 转换Bonobo.Git.Server目录成应用模式。在IIS端做如下配置:
    • 打开IIS管理界面,在默认网站下找到Bonobo.Git.Server文件夹.
    • 右键鼠标Bonobo.Git.Server文件夹,单击“转换成应用”项(Convert to Application)
  6.  打开“WebDAV”功能。有的操作系统在“打开或关闭windows功能”上打开,有的是需要安装,具体可以参考这里http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-webdav-on-iis#001
  7. 配置WebDAV。在IIS配置界面,选中Bonobo.Git.Server应用,在右侧双击“WebDAVAuthoringRules”图标,右键鼠标选择添加一条Authoring Rule记录,选中“All content”和“All Users”选项,点击OK
  8. 【可选配置,如果出错再配】安装IIS的功能要全,如下方 五 解决方案 1
  9. 【可选配置,如果出错再配】配置应用程序池版本。根据网站配置文件(C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data\web.config)所使用的.netframework版本,下载对应的.netframework版本并安装,把Bonobo.Git.Server网站的应用程序池版本号设为此.netframework版本。
  10. 启动网站(http://localhost/Bonobo.Git.Server/)。默认用户名+密码:admin+admin
  11. 添加库(Repository,相当于源代码的一个项目父文件夹)项目名,
  12. 添加用户(可以介入这个GitServer的所有用户)
  13. 修改Repository,把刚添加的用户添到这个项目的contributor和administrator里
  14. 复制Repository URL 来克隆代码
  15. Git服务器端配置成功

二:配置客户端

  1. 安装msysgit。全部选择默认安装
  2. 安装tortoisegit。全部选择默认安装
  3. 在客户端上新建一个文件夹Simple。这个Simple文件夹就是你的开发工作目录
  4. 右键Simple,点击“Git Clone”。URL处填写你的库地址:http://10.175.29.43/Bonobo.Git.Server/Exam.git
  5. 点击“OK”,会提示输入用户名和密码。服务器代码下载成功
  6. Git Client 配置成功

三:客户端保存Git用户名和密码(两种方式) 注:currentuser 代表当前登录windows操作系统的账户名

方法1:增加如下内容到.gitconfig配置文件(C:\Users\currentuser\.gitconfig):

[credential]   
    helper = store

方法2:把用户名和密码保存到文件中

1. 创建环境变量“HOME”,值设为“%USERPROFILE%”

2. 在菜单-》运行下输入%HOME%,打开C:\Users\currentuser文件夹, 创建名为_netrc的文件,并输入服务器,用户名,密码信息如下:

machine 10.175.29.43
login zhengshuangliang
password 123456

3. 在同一目录下(C:\Users\currentuser)创建一个bat文件,设置内容如下:4. 执行bat文件

setx HOME %USERPROFILE%
copy _netrc %USERPROFILE%
pause 

5. 之后再push git就不需要输入用户名和密码了

四:注意

  1. TortoiseGit命令:“Git Clone...”是获得远程的版本库,“Git Create repository here”是将选定的文件夹作为要创建的版本库。
  2. 若在客户端右键TortoiseGit中无法找到“Git Clone”选项,则先新建一个工作文件夹(如:Simple),右键选择“Git create repository here”,重试。
  3. 客户端找到以初始化好的Git文件夹,右键TortoiseGit,选择Setting,找到Git-》Remote来配置远程账号信息

五:问题解决

  1. 网址启动报错:
  2. 报错内容:

    This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".

  3. 解决方案:https://stackoverflow.com/questions/9794985/iis-this-configuration-section-cannot-be-used-at-this-path-configuration-lock