团队要将原来搭建的Git服务全部迁移到TFS的Git上统一管理,迁移的过程非常顺利。当要用Xcode或者SourceTree连接TFS Git(我们的TFS身份认证是基于Windows的,使用HTTP没有使用SSH)时出现了问题:
Xcode:始终提示用户名和密码错误
SourceTree:一直提示输入密码
经过一些尝试我们发现,在终端直接输入git clone指令按照提示一步步完成可以正常拉取代码,这个时候再用Xcode或SourceTree打开就没有问题。下一步决定安装Wireshark看一看Xcode是如何进行身份认证的,通过抓取数据包发现是基于Basic Authentication并不是NTLM。于是修改TFS在IIS的安全设置启用Basic Authentication,Xcode可以正常连接。
补充:这只是目前的临时解决方案,设置Basic Authentication是不安全的。