二者不是同类竞品,而是底层核心工具 与服务端托管管理工具的关系,Bonobo Git 完全依赖 Git 才能运行。下面从本质、区别、作用三方面详细说明:
一、本质定位:完全不同层面的工具
1. Git
Git 是分布式版本控制系统(DVCS) ,是代码版本管理的核心底层引擎,由 Linus Torvalds 开发,开源跨平台。
- 核心能力是本地代码版本记录、分支管理、合并对比、提交历史追溯。
- 本身以命令行为主(也有 GUI 客户端),运行在开发者本地电脑,不需要服务器就能独立工作。
- 所有 Git 相关的提交、拉取、合并等核心逻辑,全部由 Git 本身实现,是整个 Git 生态的基础。
2. Bonobo Git Server
Bonobo Git Server 是运行在 Windows IIS 上的轻量级 Git 服务器托管程序 ,基于 ASP.NET 开发的开源 Web 应用。
- 它本身不实现任何版本控制逻辑,底层完全调用系统安装的 Git 程序。
- 核心价值是:给原生 Git 套上可视化 Web 管理界面,提供远程仓库托管、用户账号管理、细粒度权限控制、HTTP/HTTPS 协议访问能力。
- 定位是轻量私有版 GitHub,专为 Windows 生态设计,部署简单、资源占用极低。
二、核心区别对比
| 对比维度 | Git | Bonobo Git Server |
|---|---|---|
| 本质定位 | 分布式版本控制核心工具(客户端 / 底层引擎) | Git 远程仓库的 Web 托管管理工具(服务端外壳) |
| 核心作用 | 代码版本管理、分支合并、历史追溯 | 搭建私有 Git 服务器、可视化管理仓库与用户权限 |
| 运行位置 | 开发者本地电脑、服务器均可安装 | 仅部署在 Windows 服务器的 IIS 中 |
| 功能范围 | 版本控制核心能力,无 Web 界面、无用户权限体系 | 仅提供 Web 管理、仓库托管、权限控制,无版本控制核心逻辑 |
| 依赖关系 | 完全独立,不依赖任何托管工具 | 必须依赖系统预先安装的 Git 才能正常工作 |
| 平台支持 | 跨平台(Windows、Linux、MacOS) | 仅支持 Windows + IIS 环境 |
| 使用角色 | 所有开发人员日常使用 | 运维 / 管理员部署,团队成员通过它访问远程仓库 |
三、各自的作用与适用场景
1. Git 的核心作用
Git 是所有 Git 生态的基础,覆盖代码管理全流程:
- 本地版本管理:在个人电脑上记录代码每次修改,随时回退到任意历史版本,离线也能完整工作。
- 分支协作开发:创建功能分支、修复分支,多人并行开发互不干扰,完成后合并代码。
- 远程仓库交互 :通过
clone/pull/push命令,和任意远程 Git 仓库(GitHub、GitLab、Bonobo 搭建的私有仓库)同步代码。
一句话总结:没有 Git,所有基于 Git 的代码托管服务都无法运行。
2. Bonobo Git Server 的核心作用
它解决的是「小团队如何在 Windows 环境下快速搭建私有 Git 远程仓库」的问题:
- 私有代码托管:在公司内部 Windows 服务器上搭建专属代码托管服务,代码不流出企业内网,满足数据安全与合规要求。
- 可视化管理:通过浏览器即可创建 / 删除仓库、管理用户账号、分配读写权限,无需手动操作 Git 裸仓库、配置 SSH 密钥。
- IIS 生态集成:直接部署在已有 IIS 服务器上,支持 Windows 域账号登录、HTTPS 证书绑定,和 Windows 服务器运维体系高度兼容。
- 轻量低成本:相比 GitLab 等重型 Git 服务器,Bonobo 占用系统资源极低,部署仅需几分钟,最适合 10 人以内的小团队、中小型项目使用。
四、总结
- Git 是发动机 ,提供版本控制的核心动力;Bonobo Git 是整车,把发动机包装成可直接使用的服务,附带管理界面和权限系统。
- 开发者日常写代码用的是 Git;Bonobo 是管理员部署在服务器上,给团队提供远程 Git 仓库访问入口的工具。
IIS 部署 Bonobo Git Server 完整步骤
以下是 Windows + IIS 环境下的标准化部署流程,包含环境准备、权限配置、站点部署与常见排坑,全程可按步骤落地。
一、前置环境准备(必须先完成)
Bonobo Git Server 是 ASP.NET Web 应用,底层依赖 Git 执行版本控制,需提前装好所有依赖。
1. 安装 IIS 与 ASP.NET 支持
- Win+R 输入
optionalfeatures回车,打开「Windows 功能」 - 展开 Internet Information Services ,必选组件:
- 确定等待安装完成
2. 安装 .NET Framework 4.6+
-
Win10/11、Windows Server 2016+ 系统自带,无需额外安装
-
低版本系统需手动下载安装 .NET Framework 4.6 及以上版本
-
若先装 .NET 后装 IIS,需以管理员身份运行 CMD 执行注册命令:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
3. 安装 Git for Windows
Bonobo 本身不包含 Git 核心,必须在服务器安装 Git:
- 下载 Git for Windows 并安装
- 安装时必须勾选「Git from the command line and also from 3rd-party software」(将 Git 加入系统 PATH)
- 安装完成后 CMD 执行
git --version,能输出版本号即为正常
二、下载并部署程序文件
- 从 Bonobo 官网 下载最新版安装包(ZIP 格式)
- 解压文件到 IIS 站点目录,推荐路径:
- 独立站点:
D:\wwwroot\BonoboGitServer - 挂载默认站点:
C:\inetpub\wwwroot\Bonobo.Git.Server
- 独立站点:
三、配置文件夹权限(核心必做,否则必报错)
Bonobo 需要读写配置与仓库文件,权限是最常见的报错原因。
- 右键站点根文件夹 → 属性 → 安全 → 编辑 → 添加
- 输入对象名:
IIS_IUSRS,检查名称后确定 - 给
IIS_IUSRS赋予 读取 & 执行、列出文件夹、读取 权限 - 找到站点内的 App_Data 文件夹 ,重复上述步骤,额外勾选 修改、写入 权限(完全控制也可)
- 若后续自定义了仓库存储路径,也需给该目录赋予相同的写入权限
四、IIS 站点配置(两种方案选其一)
方案 A:新建独立网站(推荐,生产环境用)
端口独立、管理隔离,适合长期使用
- 打开 IIS 管理器(
inetmgr),左侧右键「网站」→ 添加网站 - 填写配置:
- 网站名称:
Bonobo Git Server - 物理路径:选择你解压的站点根目录(如
D:\wwwroot\BonoboGitServer) - 端口:自定义(如
8088,避免和 80 端口冲突) - 主机名:可填域名,内网使用留空即可
- 网站名称:
- 点击确定创建站点
方案 B:挂载到默认网站(快速测试用)
适合临时体验,无需额外端口
- IIS 管理器中展开「默认网站」
- 找到
Bonobo.Git.Server文件夹,右键 → 转换为应用程序 - 应用程序池选择
.NET v4.5或 v4.0 集成模式,确定即可
应用程序池关键配置
无论哪种方案,都需核对应用池设置:
- 左侧点击「应用程序池」,找到对应站点的应用池,右键 → 高级设置
- 确认参数:
- .NET CLR 版本:v4.0
- 托管管道模式:集成
- 启用 32 位应用程序:
False(64 位系统保持默认) - 闲置超时:可调整为 0,避免长时间无访问进程被回收
身份验证配置
- 选中 Bonobo 站点 / 应用,中间双击「身份验证」
- 仅启用 匿名身份验证,禁用 Windows 身份验证、表单身份验证等所有其他项
- 说明:Git 的 HTTP 账号密码认证由 Bonobo 程序自身处理,IIS 层面只需放行匿名访问
五、初始化与基础配置
- 浏览器访问地址:
- 独立站点:
http://服务器IP:端口 - 默认站点挂载:
http://localhost/Bonobo.Git.Server
- 独立站点:
- 默认管理员账号:用户名
admin,密码admin,首次登录后立即修改 - 进入后台「设置」页面,核心配置:
- Repository directory :设置 Git 仓库的物理存储路径(建议放在非系统盘,如
D:\GitRepositories) - 保存配置后,确保该目录已给
IIS_IUSRS写入权限
- Repository directory :设置 Git 仓库的物理存储路径(建议放在非系统盘,如
- 点击「Repositories → Create new」即可创建第一个私有仓库
六、常见报错排查
-
HTTP 错误 500.19 - Internal Server Error → web.config 权限不足,或 ASP.NET 未正确安装,重新执行
aspnet_regiis.exe -i并检查文件夹权限 -
打开页面报 403 禁止访问 → 检查站点根目录的 IIS_IUSRS 读取权限,或确认默认文档已启用(Bonobo 自带默认页,一般是权限问题)
-
Git push 提示权限错误 / 无法写入仓库 → 仓库存储目录未给
IIS_IUSRS修改权限,或登录的账号没有该仓库的写入权限 -
提示找不到 git.exe/ 无法执行 Git 命令 → 服务器未安装 Git,或 Git 未加入系统 PATH;可在 Bonobo 设置中手动指定 git.exe 完整路径