Windows系统搭建GitServer--Bonobo Git Server

2024-05-30 21:58

本文主要是介绍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 clone http://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 push http://localhost/mygit/test.git  推送到远程仓库。

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

git add test.txt

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

git push http://localhost/mygit/test.git 成功。

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

上面操作的问题在于:

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

2. 使用 git 命令行(在 Bash 里面),如果做 git clone http://localhost/mygit/test.git d:\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 客户端

这篇关于Windows系统搭建GitServer--Bonobo Git Server的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1016948

相关文章

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提