一、关于Bonobo Git Server
Bonobo Git Server 是一套基于 asp.net 的 git 服务器。运行于 Windows IIS 上。
把它解压缩出来放到一个目录下,按照平时配置网站应用方式设置就可以了,指定https的话自己安装证书。
官网:https://bonobogitserver.com/
设置注意几点:
1. 该目录让 IIS_User 有访问权;二、配置成功后
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
更多: