修改
OSX Server版本4显然解决了这个问题。
原帖:
我在OS X服务器上有一些git存储库。之前我可以毫无问题地从远程Xcode访问它们
使用Xcode 6.0.1 升级到OS X Server 3.2.1后,我再也无法访问它们了:
如果我尝试通过偏好设置/帐户将服务器添加到Xcode,它会显示
Xcode Server is unavailable
如果我使用命令
通过终端尝试git clone <repository path>
它要求输入密码(即它可以访问服务器),然后说
fatal: repository '<repository path>' not found
真的很烦人,因为之前一切正常。任何帮助我如何解决这个问题?
编辑1:
当然,新的OS X服务器在Xcode / Repositories下显示了存储库,所以它们仍然存在......
编辑2:
我刚刚意识到有时(很少)本地Xcode以及远程Xcode找到存储库并可以立即访问它们,或者在要求输入密码之后。很沮丧!
编辑(由于Dan Hansen的回答):
我尝试使用SSH,但失败了:
所以在我看来,这似乎是授权问题,但我不知道如何处理它。
答案 0 :(得分:2)
我在升级后遇到了同样的问题并找到了适用于我的修复程序。也许它也会对你有所帮助。
我在Server应用程序的Xcode服务下运行了一个HTTPS GIT存储库。我用它来同步本地macbook pro(服务器)上的项目,运行Win 8.1的VM(虚拟机)和另一个macbook pro(也是Win 8.1)上运行的远程VM。
在两个macbook pro上,我使用Xcode与GIT repo进行交互。我使用“GIT bash”命令行与Win 8.1 repo进行交互。效果很好。
使用Xcode 6.0.1升级到OS X Server 3.2.1会破坏我的存储库。首先,我遇到了证书问题 - 一旦我完成了这些问题,我就开始收到您所看到的“致命:存储库......未找到”错误。
我研究了这个问题并开始深入研究日志和新服务。我怀疑底层问题可能就像一个坏的符号链接(在日志中有关于/ Git的ScriptAliases错误的投诉)但我越是深入到新的目录结构中我看到它越多有点复杂的野兽,我真的不想开始搞乱符号链接等等。看起来就像灾难的公式。
我的修复方法是切换到使用 SSH 来引用repo(而不是HTTPS)。
因此,在远程VM上,我执行了以下操作:
git remote rm origin
git remote add origin ssh://dhansen@my-server-address/git/my-repo.git
git push -u origin master
当然,我必须确保在“共享”中启用了“远程登录”并正确设置了ssh,但除此之外它就像魅力一样。
在另一台远程VM上,我必须做同样的事情。当我尝试从一个远程Win 8.1 VM推送到第二个Xcode服务仓库时,我确实遇到了一个问题,因为它有一个错误“远程:错误:没有足够的权限将对象添加到存储库数据库./objects.remote:致命的:未能写对象“
我必须:
cd / Library / Developer / XcodeServer / HostedRepositories
并更改权限。看起来像某些东西现在是root:_xcs,有些是root拥有的:_www。
这解决了最后一个问题。现在这一切都像魅力一样,我很放心,虽然生气,我不得不花费这么多时间来排除故障。
正常的升级破坏了与存储库的完美连接,这是一个完全的烦恼,但幸运的是,看起来你可以使用SSH解决它。
祝你好运!答案 1 :(得分:0)
也许这会有所帮助。对我来说似乎是xCode bug。我没有尝试在帐户标签的xCode首选项中添加存储库,而是执行了后续步骤(有些可能是不必要的):
1)转到xCode首选项 - &gt;如果存在帐户并删除有缺陷的存储库(即使您选择用户名xCode删除它,似乎也是如此)
2)转到钥匙串如果存在,则访问和删除存储库的密钥
3)转到源控制 - &gt; “Your_Project_Name - Your_Branch_Name” - &gt;配置Your_Project_Name - &gt;遥控器。检查是否有您的遥控器,如果没有添加它,您只需要没有登录名和密码的网址。然后转到标签分支,xCode将尝试接收远程分支,并将询问您的登录名和密码。在我输入之后,存储库被正确添加到我的帐户中,我可以将其用于推送。