我正在尝试将最新版本SourceTree与使用Git的Google Code项目一起使用。问题是,当我尝试推送更改时,它会抱怨身份验证:
git push -v --tags --set-upstream origin master:master
推动[项目]
致命:远程错误:用户名/密码无效 您可能需要使用生成的googlecode.com密码;见https://code.google.com/hosting/settings
完成但有错误,见上文
我无法在设置中的任何位置看到输入密码的位置。我尝试搜索Atlassain's knowledge base和Google,但找不到任何相关内容。唯一的线索来自谷歌的项目页面,其中说:
选项1 :使用此命令获取[project]存储库的本地副本:
git clone [项目]
要推送您的更改,请使用您的Google帐户和生成的googlecode.com密码进行身份验证 选项2 :使用.netrc进行身份验证:
将以下内容添加到.netrc中 机器code.google.com登录[email]密码[生成googlecode.com密码]
确保克隆URL不包含您的用户名: git clone [url]
对于Git存储库,您可以将以下行添加到.netrc文件中,记录您已提交访问的每个存储库域的密码。确保您已在.netrc上设置权限,以便只有您的用户帐户才能读取它。
机器代码.google.com登录[email]密码[密码]
此问题仅在我升级到最新版本的SourceTree后才开始。我可以在身份验证详细信息中输入GUI中的任何位置吗?我相信旧版本中有一个GUI选项,但我再也找不到它了。我找到的唯一允许您输入类似内容的地方是在Repository的高级选项卡或主要首选项的General选项卡中。但是,在这两种情况下,它只询问电子邮件地址而不是密码。
答案 0 :(得分:14)
问题在于,默认情况下Google会告诉您(在.git/config
中)使用包含“USER @”部分的网址。 SourceTree看到了这一点,并假设Username是URL中的用户,并且没有密码。要解决此问题,只需删除URL中的“USER @”部分即可。然后,当您尝试推送更改时,SourceTree将提示输入用户名/密码。
例如,而不是:
使用:
有关详细信息,请参阅:https://answers.atlassian.com/questions/36585/entering-in-a-password-in-sourcetree