【发布时间】:2017-12-19 19:05:17
【问题描述】:
我在 Windows 7 Enterprise 上使用 TortoiseGit 2.4.0.2。我几个月前安装了它,一切正常。它存储了我的 HTTP 凭据(Git -> 凭据 -> 管理器 - 所有 Windows 用户),因此我不必每次与它交互时都重新输入密码。
今天,为了帮助一些人开始使用 git,我尝试将我一直在使用的存储库克隆到一个新的地方(即创建一个新的沙箱来进行教学)。我从 BitBucket 获得了 HTTP URL,并通过 GUI 使用了 Clone(右键单击“Git Clone ...”),指定了一个新目录。它要求我输入密码,我知道该密码是正确的,但在 GUI 中失败并显示“致命:身份验证失败”。操作日志中没有更多内容:
2017 年 7 月 18 日 - 上午 10:21:37 - C:\doc-git\test\doc-test
git.exe pull --progress -v --no-rebase "origin"致命:“http://mcellio@git.example.com/scm/docs/doc-test.git/”的身份验证失败
git 没有完全退出(退出代码 1)(32542 ms @ 7/18/2017 10:21:29 AM)
用户已取消
(“用户取消”在 GUI 出现错误后发生;我选择“取消”和“中止”,我选择了后者。以前我尝试过“取消”,但它留下了一个正在运行的进程,后来干扰了行动。)
然后我前往一个新目录中的 Cygwin 命令行,并使用相同的 URL(git 版本 2.7.0)进行了 git clone。它提示我输入密码,接受它,然后克隆存储库。但是,如果我尝试使用 TortoiseGit 与该克隆进行交互,我会再次遇到密码问题。
我注意到 Bitbucket HTTP URL 包含用户名 (https://username@git.example.com...),因此严格来说客户端不需要请求它。命令行 git 没有,但 TortoiseGit 可以。所以我尝试省略用户名,但也没有用。
如何使用 TortoiseGit 解决问题? 我可以只使用命令行,但我正准备教一些依赖 GUI 的人如何与这个存储库交互,我想验证他们是否能够克隆它.我使用 TortoiseGit 多次(在不同位置)克隆这个存储库这一事实是否重要?我不认为 git 会在意;过去我在不同的机器上克隆了同一个 repo(不是这个),但以前从未从同一个客户端克隆过两次。
有人告诉我,从 HTTP 切换到 SSH 不是我们的选择。此外,我正试图让这个对人们来说变得非常简单(除了它是 git :-)),并且密钥管理增加了复杂性。
【问题讨论】:
-
您可以尝试其他 GUI。 tortoisegit使用的是libgit2,是git重新实现的,可能有关系。
-
@max630 我要迁移到 git 的人目前使用 Tortoise SVN,因此强烈倾向于使用 Tortoise Git 来简化他们的过渡。
-
“致命:身份验证失败”还不够。你能去 TotoiseGit -> Settings -> Saved data -> Action log -> 按“显示”按钮,然后在此处复制/粘贴更多错误消息吗?
-
你使用 Cygwin git 还是 Windows 版 Git?哪个版本的 git?
-
@YueLinHo 日志中没有更多内容,但我已经对其进行了编辑。(感谢您指点我;不知道日志。)我将 git 版本号添加为从 Cygwin 命令行获取。
标签: git tortoisegit