用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器

 

现在不用Git,都不好意思说自己是程序员。

当你想用Git,而源代码服务器是Windows系统时,你将面临一个问题:如何在Windows上搭建Git服务器?

看看这篇文章(Setting up a Msysgit Server with copSSH on Windows)中的配置步骤,你会忘而却步吗?你会感叹“Linux世界的精彩,Windows世界的无奈”?

但程序员的天性是解决问题并以此为乐。不管生活在哪个世界,解决问题才是王道。于是,有程序员解决了这个问题,用ASP.NET MVC写了一个开源的Git服务器程序——Bonobo Git Server

Bonobo Git Server基于.NET Framework 4.0+ASP.NET MVC 3开发,数据库用的是SQLite,Git部分用的是GitSharp - Git for .NET and Mono

运行Bonobo Git Server,只需要IIS+WebDAV(IIS 7.5自带WebDAV, IIS 7.0需要下载安装)。

下面简单分享一下安装配置步骤,该步骤经过实践检验,我们已经成功部署。

第一部分 Bonobo Git Server站点的安装与配置

1. 下载Bonobo Git Server并解压

下载地址:http://www.chodounsky.net/bonobo-git-server/

如果想看源代码,请在这里下载:https://github.com/jakubgarfield/Bonobo-Git-Server

2. 配置一个IIS站点(比如:git.cnblogs.com),指向Bonobo Git Server所在文件夹。

a) 应用程序池要以.NET Framework 4.0运行。

b) 要安装ASP.NET MVC3。

c) 如果服务器用的是X64的Windows,需要下载64位版本的System.Data.SQLite至bin文件夹替换32位版本的。

3. 通过浏览器访问上一步配置的站点,如下图:

4. 输入默认用户名admin与密码admin,进入下图页面:

5. 点击“Global Settings”,设置一下代码库的根目录,并设置好该目录的文件系统权限(需要有写权限):

6. 点击“Respositories” 》“Create new repository”,创建新的代码库:

7. 创建好之后,点击代码库的名称,就能查看该代码库的信息,比如最重要的信息——Git Repository Location。

8. 安装/配置WebDAV

安装

1) 如果是IIS 7.5(Windows 7, Windows Server 2008 R2),WebDAV是自带的,只要添加该组件即可。具体配置方法参见 Installing WebDAV on IIS 7.5

2) 如果是IIS 7.0,需要另外下载安装,请参见 Installing WebDAV on IIS 7.0 。

配置

添加一条Authoring Rule:

到此,Git 服务器站点的基本配置就完成了。

第二部分 Git客户端简要操作步骤

现在可以通过Git客户端提交代码了,这里用的是TortoiseGit。

1. 安装TortoiseGit,下载地址:http://code.google.com/p/tortoisegit/(需要先安装msysgit),VS2010插件可以使用Git Source Control Provider

2. 在将要放置代码的文件夹点击右键选择"Git Clone",在Url中输入代码库的地址,确定后输入默认用户名与密码,然后就开始Clone...出现如下画面表示Clone成功。

3. 向这个代码库文件夹添加代码文件,然后通过TortoiseGit的菜单[Git Commint -> "master"...”]提交代码(这个提交只是向本地的代码库提交,并没有提交至服务器,这也是Git与SVN的主要区别之一)。

4. 通过TortoiseGit > Push 提交至Git服务器。

第三部分  Git服务器的其他操作

  • 修改管理员密码,通过左侧的 "Users"链接进入用户管理界面进行修改。
  • 添加新用户并授权,管理员无法直创建帐户,需要通过注册页面先注册一个帐户(登录页面右上角有注册链接),然后在用户管理界面将该用户加入Administrator角色。
  • 如果遇到问题,可以查看App_Data中的错误日志文件Bonobo.Git.Server.Errors.log。
  • 由于是开源程序,有什么不合你意的地方,直接可以修改源代码。

用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)的更多相关文章

  1. 开源Asp.Net MVC网上商城BrnShop

    开源Asp.Net MVC网上商城BrnShop正式发布,提供源码下载 BrnShop网上商城是以Asp.Net mvc3为基础开发的网上商城,源代码完全开源(企业版的源代码目前还没有完全整理完成,一 ...

  2. MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型

    为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By  Tom Dykstra |July 30, 2013 Translated by litdwg   ...

  3. 跟我学ASP.NET MVC之三:完整的ASP.NET MVC程序-PartyInvites

    摘要: 在这篇文章中,我将在一个例子中实际地展示MVC. 场景 假设一个朋友决定举办一个新年晚会,她邀请我创建一个用来邀请朋友参加晚会的WEB程序.她提出了四个注意的需求: 一个首页展示这个晚会 一个 ...

  4. 跟我学ASP.NET MVC之二:第一个ASP.NET MVC程序

    摘要: 本篇文章带你一步一步创建一个简单的ASP.NET MVC程序.  创建新ASP.NET MVC工程 点击“OK”按钮后,打开下面的窗口: 这里选择“Empty”模板以及“MVC”选项.这次不创 ...

  5. 05 入门 - 浅谈 ASP.NET MVC程序的工作原理

    目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容 1. Global.asax文件 2. RouteConfig.cs文件 3. 视图命名和寻址的规则 前面创建了一个简 ...

  6. .NET手记-为ASP.NET MVC程序集成Autofac

    MVC Autofac总是会紧跟最新版本的ASP.NET MVC框架,所以文档也会一直保持更新.一般来讲,不同版本的框架集成Autofac的方法一般不变. MVC集成需要引用 Autofac.Mvc5 ...

  7. IIS8发布Asp.net MVC程序后出现404错误,处理程序staticFile

    新部署的虚拟机,运行Asp.net MVC程序,出现如下图错误: 解决方法: 添加功能和角色->添加角色->Web服务器IIS->应用程序开发->Asp.net3.5 /Asp ...

  8. 【译】ASP.NET MVC 5 教程 - 5:使用 SQL 服务器 LocalDB 创建连接字符串

    原文:[译]ASP.NET MVC 5 教程 - 5:使用 SQL 服务器 LocalDB 创建连接字符串 在上一节中,我们创建了MovieDBContext 类来连接数据库.处理Movie 对象和数 ...

  9. Ubuntu server 搭建Git server

    Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器. Ubuntu server 版本为12.04 搭建步骤如下: ...

随机推荐

  1. 如何将本地代码通过git上传到码云

    ps:同部署到GitHub上一样 http://www.cnblogs.com/pcx105/p/7777932.html

  2. SQL2008 2机镜像

    清除设置 //删除端点 declare @sql varchar() declare @mirrName varchar() select @mirrName=name from sys.databa ...

  3. vim 查找替换批量替换

    一.vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找, 不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出 ...

  4. c# 快速排序法并记录数组索引

    在遗传算法中,只需要对适应性函数评分进行排序,没必要对所有的个体也参与排序,因为在适应性函数评分排序是可以纪律下最初的索引,排序后的索引随着元素排序而变动,这样就知道那个评分对应那个个体了: usin ...

  5. hadoop Mapreduce组件介绍

    MapReduce原理 MapRedcue采用‘分而治之’的思想,对大规模数据集的操作,分发给一个主节点下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果.Mapreduce就是任务 ...

  6. mysql 存储过程 有数据修改 没数据插入

    BEGIN DECLARE sid INT(10) DEFAULT 0; DECLARE money INT(10) DEFAULT 0; DECLARE row_count INT; DECLARE ...

  7. Java理论学时第三节。课后作业。

    如果一个类中既有初始化块,又有构造方法,同时还设定了字段的初始值,谁说了算? 运行结果. 根据我的总结,它们三个的优先级是:构造方法 > 字段初始值 > 初始化块. 当多个类之间有继承关系 ...

  8. OpenGL中的拾取模式( Picking)

    1. Opengl中的渲染模式有三种:(1)渲染模式,默认的模式:(2)选择模式, (3)反馈模式.如下 GLint glRenderMode(GLenum mode) mode可以选取以下三种模式之 ...

  9. 关于cmp函数参数中的&符号

    关于cmp函数参数中的&符号 关于sort函数中的cmp函数有着不同的写法,以刚刚的整形元素比较为例 还有人是这么写的: bool cmp(const int &a, const in ...

  10. RxSwift学习笔记1:RxSwift的编程风格

    第一天:简单体验与RxSwift的编程风格 import UIKit//导入Rx相关框架 import RxSwift import RxCocoa struct Music { let name:S ...