我使用的是Visual Studio 2013,我的源代码管理系统是通过Github的Git。虽然命令行很好,但我自己就是一个GUI用户。以前,我很幸运在Git中使用了团队资源管理器窗格。
然而,最近,我们的商店表示,他们希望开始通过SSH与Github进行通信。我配置了SSH,在CLI中进行了测试,一切都很好。事实证明,VisualStudio2013使用了一个libgit2发行版libgit2sharp,它还不支持ssh。团队资源管理器在尝试提交时会用以下内容进行响应:
An error occurred. Detailed message: An error was raised by libgit2. Category = Reference (Error).
Failed to parse signature - malformed e-mail
我切换回https(通过git remote set-url
命令),但就Visual Studio而言,这似乎并不起作用。我仍然收到上面的错误消息。
我试着卸载并重新安装git,然后重新配置它。我可以再次通过命令行访问我的repos,并进行推拉等操作。但VS仍然坚持认为我的电子邮件格式不正确,因此我只能得出结论,它仍在尝试通过ssh进行通信。
我还必须做些什么才能向git表明我真的只想通过https进行通信?或者,可能还有其他东西让它感到困惑吗?
编辑
$ git remote -v
origin https://github.com/REPO/PROJECT.git (fetch)
origin https://github.com/REPO/PROJECT.git (push)
显然,url已经更改了一点,但它们的结构是正确的。
要使用https,必须遵循以下步骤
-
git remote add [shortname] [httpurl]
shortname-remoteurl的短名称(例如:origin、originhttp..等)
httpurl-在这里你必须提供你的远程http url
-
然后您可以通过shortname执行推送或拉取操作
git push shortname master, git pull shortname master
。