Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端。服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用。客户端是采用的TortoiseGit工具,UI操作,省去输入命令的麻烦,对于windows用户来说更易于使用。
所需软件:
- Git服务器端:
- Git客户端:
一:配置服务器端
以下案例服务器环境是基于Windows7 + IIS7 + Bonobo Git Server 3.4.3 + WebDAV ,其他版本的操作系统或IIS略有不同
Windows Server 2016 + IIS8 + Bonobo Git Server 6.3.0 已验证可用,并更新了以下文档
- 在Windows7下打开IIS7功能。开始-》控制面板-》程序-》打开或关闭windows功能,勾选Internet Information Services的选项。不会的可以谷歌或百度下。
- 下载最新版的Bonobo Git Server。这是一个.zip压缩包文件,里面是用ASP.NET MVC开发的网站
- 解压上步下载的压缩包到C:\inetpub\wwwroot。
- 修改APP_Data文件夹权限。允许IIS用户修改网站代码中的(C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data)文件夹,所以需要做如下配置:
- 在APP_Data文件夹上右键选择“属性”
- 到“Security”(安全)的Tab页点击“Edit”(编辑)
- 给IIS_IUSRS赋予Write和Modify权限。
- 转换Bonobo.Git.Server目录成应用模式。在IIS端做如下配置:
- 打开IIS管理界面,在默认网站下找到Bonobo.Git.Server文件夹.
- 右键鼠标Bonobo.Git.Server文件夹,单击“转换成应用”项(Convert to Application)
- 打开“WebDAV”功能。有的操作系统在“打开或关闭windows功能”上打开,有的是需要安装,具体可以参考这里http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-webdav-on-iis#001
- 配置WebDAV。在IIS配置界面,选中Bonobo.Git.Server应用,在右侧双击“WebDAVAuthoringRules”图标,右键鼠标选择添加一条Authoring Rule记录,选中“All content”和“All Users”选项,点击OK
- 【可选配置,如果出错再配】安装IIS的功能要全,如下方 五 解决方案 1
- 【可选配置,如果出错再配】配置应用程序池版本。根据网站配置文件(C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data\web.config)所使用的.netframework版本,下载对应的.netframework版本并安装,把Bonobo.Git.Server网站的应用程序池版本号设为此.netframework版本。
- 启动网站(http://localhost/Bonobo.Git.Server/)。默认用户名+密码:admin+admin
- 添加库(Repository,相当于源代码的一个项目父文件夹)项目名,
- 添加用户(可以介入这个GitServer的所有用户)
- 修改Repository,把刚添加的用户添到这个项目的contributor和administrator里
- 复制Repository URL 来克隆代码
- Git服务器端配置成功
二:配置客户端
- 安装msysgit。全部选择默认安装
- 安装tortoisegit。全部选择默认安装
- 在客户端上新建一个文件夹Simple。这个Simple文件夹就是你的开发工作目录
- 右键Simple,点击“Git Clone”。URL处填写你的库地址:http://10.175.29.43/Bonobo.Git.Server/Exam.git
- 点击“OK”,会提示输入用户名和密码。服务器代码下载成功
- 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文件,设置内容如下:
setx HOME %USERPROFILE% copy _netrc %USERPROFILE% pause
4. 执行bat文件
5. 之后再push git就不需要输入用户名和密码了
四:注意
- TortoiseGit命令:“Git Clone...”是获得远程的版本库,“Git Create repository here”是将选定的文件夹作为要创建的版本库。
- 若在客户端右键TortoiseGit中无法找到“Git Clone”选项,则先新建一个工作文件夹(如:Simple),右键选择“Git create repository here”,重试。
- 客户端找到以初始化好的Git文件夹,右键TortoiseGit,选择Setting,找到Git-》Remote来配置远程账号信息
五:问题解决
- 网址启动报错:
- 报错内容:
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".
- 解决方案:https://stackoverflow.com/questions/9794985/iis-this-configuration-section-cannot-be-used-at-this-path-configuration-lock
- 报错内容: