Windows系统搭建GitServer--Bonobo Git Server

一、关于Bonobo Git Server

Bonobo Git Server 是一套基于 asp.net 的 git 服务器。运行于 Windows IIS 上。

把它解压缩出来放到一个目录下,按照平时配置网站应用方式设置就可以了,指定https的话自己安装证书。

官网:https://bonobogitserver.com/

设置注意几点:

1. 该目录让 IIS_User 有访问权;
2. 官方文档特意提到该目录下的子目录 App_Data 要让 IIS_User 有写入权;
3. 将该目录转换为应用程序(在 IIS 管理器里面,鼠标右键去点这个目录),可能事先要将它设置为 IIS 网站底下的虚拟目录。
4. 重点:官方文档提到:IIS7 的网站设置里面的身份验证,要把匿名用户设置为 Enable。但是,官方文档没提到要把其它认证方式都设置为 Disable。
5. 重点:官方文档没提到,这个IIS应用程序的高级设置里面(IIS 管理器里面,右键点该虚拟目录,选择【管理应用程序/高级设置】),在弹出来的框里面,应用程序池的选择,要选择 Asp.Net v4.0,不要选择带 classic 的那个。因为 .net 的应用程序池有两种:集成,经典。选择经典,这个程序不能运行。


二、配置成功后

1.登录在设置中修改语言版本
2.创建版本库

3.获取克隆版本库 ,注意使用git clone命令,而不是使用GUI界面工具,这点需要特别注意。

安装好以后,网页可以访问到。在网页里:

1. 首先登录:admin / admin

2. 创建仓库;假设仓库名称叫做:test

然后,可以远程,用 git 去访问它了。比如使用 Windows 底下的 git 的 BASH 窗口打命令:(以下使用的 git 是 mysysgit)

git clonehttp://localhost/mygit/test.git 这里的 test 是仓库名称。这样看起来,git 客户端是可以直接使用 http 协议的。

克隆服务器的仓库到本地以后,默认是在当前 Windows 用户目录下,创建了一个文件夹叫做 test。进入这个目录,自己创建一个文件,叫 test.txt。然后,在 git 的 Bash 窗口里面输入命令:

git add test.txt 执行成功。(这一步,需要在 Bash 窗口里面,cd 进入 test 目录,才能执行)。

然后,提交:git commit 结果会出来一堆提示,需要在本地 git 里面,注册自己的邮件和 git 帐号。根据提示输入后,再次提交,成功。

提交其实只是提交到本地的 git 仓库。要提交到服务器,必须进一步操作:

git pushhttp://localhost/mygit/test.git 推送到远程仓库。

然后切换到另外一个 windows 用户,将上述仓库克隆下来,修改里面的文件,然后执行:

git add test.txt

git commit (执行这一步,同样要求输入你是谁,根据命令行当提示操作就可以了)

git pushhttp://localhost/mygit/test.git成功。

然后再切换回原来的 Windows 用户,用 git pull 拉下来。发现这里的 test.txt 真的被更新了。

上面操作的问题在于:

1. 使用 git GUI 界面的克隆菜单,在出来的界面里面,不输入目标文件夹,克隆的按钮是灰色的;输入目标文件夹,无论输入什么,都提示该文件夹已经存在。因此无法操作。

2. 使用 git 命令行(在 Bash 里面),如果做 git clonehttp://localhost/mygit/test.gitd:\test\ 操作,则确实它在本地 D: 盘创建了 test 目录并把 test.txt 从服务器下载过来。但是如果在这里对文件进行了修改,然后在 Bash 里做 git add 操作,无论如何写文件路径,比如写 git add d:\test\test.txt 它都会提示错误,这不是一个 git 仓库。在 Bash 里面好似 CMD 里面一样做当前磁盘切换 D: 然后 cd test 是无法成功的。也就是无法把当前路径切换进去。

3. 如果 clone 命令不跟目标文件夹,则它自动在当前 Windows 用户文件夹底下(C 盘的 User 目录下),创建本地仓库 test 目录并把文件下载到这里。然后在这里修改文件后,可以 add,commit 然后 push 成功。

上述问题,可能是我不懂 git 的用法,命令没搞对导致。

下载一个 git 小乌龟,用 GUI 菜单操作,不用记忆命令。这次,可以成功地克隆仓库到 D 盘,然后在 D 盘改写文件后,add,commit,push 成功。

这个小乌龟只提供图形界面,实际的操作它还是依赖 mysysgit 这套 git for windows 的 git.exe


更多:

Git移除版本控制操作

git回到指定版本命令

TortoiseGit 2.5.0 正式发布,Git 客户端

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...