最进在学习git的使用,涉及到服务器的搭建,如果采用ssh搭建的话可以参考如何在WINDOWS(XP)下使用copSSH配置GIT服务器+TortiseGIT客户端 如果走http可以参考在Win2008 R2下用 Bonobo Git Server 搭建 Git 服务器 以上2个方法都都测试过没有太大问题。 走ssh协议的没什么问题,走http的时候我遇到一个问题就是:在克隆时出现错误“fatal:Authentication failed ”
一般该错误都是权限不足导致的,配置如图
如果这种方法不能解决你的问题,可以往下面看看。
先说说我的安装软件吧:
服务端安装有:Microsoft .NET Framework 4.0\ ASP.NET MVC 3\ Install_Bonobo.Git_.Server.v1.1.0.0
客户端:GitExtensions233SetupComplete.msi\TortoiseGit-1.7.11.3-32bit.msi
我的安装环境有3个
在家物理机 win7 64bit sp1 里面有vs2008 vs2010 sql2012 mvc3 以下简称win7 64
在物理机上用VM搭建了一个 虚拟机 windows2008 R2 Sp1 里面安装有Vs2008 Sql2008 sharepoint2010以下简称win2008
在公司的物理机 是 win7 32bit 装有VS2008 Vs2010 Sql2008 以及上面的客户端软件
先看看我的安装步骤吧:
我一般都喜欢在虚拟机里面高一些尝试性的工作,所以第一天晚上我在windows2008上安装了服务端 配置成功后,创建Repositories成功,然后在该机器上安装客户端 ,克隆时提示“fatal:Authentication failed ”,找了很多方案没有解决。
第二天我在公司也搭建了一下,在创建Repositories出现问题,找到App_Data下的Bonobo.Git.Server.Errors.log一看有如下错误“Access to the path 'C:\Windows\system32\config\systemprofile\.gitconfig' is denied.” 我首先怀疑是不是权限问题,在公司没有管理员权限很烦。于是把Bonobo.Git.Server的源代码下载下来,一运行有问题,添加了一个类GitSharp.Core.DirectoryCache.DirCacheTree 直接运行,它的地址是http://localhost:50287 。我在它上面创建user、Repositories 再克隆 ok,再把它移到IIS下 地址变为http://localhost/Bonobo.Git.Server,克隆的地址为http://localhost/Bonobo.Git.Server/Git.aspx/demo 居然有出现了“Authentication failed”,我把Repositories删掉再重新创建一个Repositories提示错误“C:\Windows\system32\config\systemprofile\.gitconfig' is denied.”无语了。看了看源代码在GitSharp.Core.Util.FS 里面 userHomeFolderPath = Environment.GetEnvironmentVariable("USERPROFILE");有这么一句userHomeFolderPath的值居然是C:\Windows\system32\config\systemprofile而不是“C:\Users\majiang”,没办法我只好该源代码了,在GitSharp.Core.Util.IO文件中的 public static byte[] ReadFully(FileInfo path, int max)方法里添加
if (path.FullName.EndsWith(".gitconfig"))
path = new FileInfo(@"C:\Users\majiang\.gitconfig");
现在可以创建Repositories了,但是克隆还是没有搞定,人都快崩溃了。。。后来向北京的同事咨询了一下,服务器的配置没上面问题啊。这时更加茫然了。。。,在这里给了我一个误导http://localhost:50287/Git.aspx/demo 可以克隆 http://localhost/Bonobo.Git.Server/Git.aspx/demo 不可以克隆,一直以为是IIS没有配置正确,尤其是里面那个WebDav,后面经过测试WebDav可以不用配置
晚上回到家 我在我的windows2008里面搞了一下,把以前的Repositories删掉再次所创建Repositories出现错误“C:\Windows\system32\config\systemprofile\.gitconfig' is denied”。我把C:\Users\majiang下面的.gitconfig文件拷贝到C:\Windows\system32\config\systemprofile并添加读权限,能创建Repositories但是不能克隆。 我火了,在win7 64 bit里面搭建了一下,不到3分钟就搞定了,在windows2008里面克隆也没有问题。冷静下来思考一下,.gitconfig文件在安装了客户端后才有的,于是我把windows2008里面的git客户端卸载,再次创建Repositories成功,克隆失败了。我担心是我卸载没有卸载干净有残留物。于是重新拷贝了一份虚拟机windows2008 R2 sp1在重新搭建环境只安装服务端,不安装客户端。创建Repositories成功,在windows xp下的客服端里 克隆成功 push成功。
总结:经过一天2个晚上终于搞定了, Install_Bonobo.Git_.Server.v1.1.0.0 和GitExtensions233SetupComplete.msi\TortoiseGit-1.7.11.3-32bit.msi尽量不要安装在同一台计算机上,有冲突。冲突的解决办法目前未知.