git clone:<URL>的身份验证失败

SLC*_*000 7 windows git tfs credentials

尝试访问私人公司tfs。他们通过授予Windows用户适当的权限(domain \ login)来授予我访问权限。

我可以访问tfs的Web界面,浏览存储库和其他东西。

但是当我尝试跑步时

 git clone https://tfs.somehostname.com/tfs/somefolder/_git/therepository
Run Code Online (Sandbox Code Playgroud)

它失败了

Cloning into 'therepository'...

fatal: Authentication failed for 'https://tfs.somehostname.com/tfs/somefolder/_git/therepository/'
Run Code Online (Sandbox Code Playgroud)

尝试使用没有公司网络资料的家用电脑-同样的错误。

在PowerShell,Git Bash,通过VisualStudio克隆中尝试过-同样的错误。

SSH已关闭(使请求超时)。

Web和Git都要求一次凭证(尝试在Credentials Manager中删除-再次询问,提交网络正常后,git失败)

公司帮手试图提供帮助,但他所提供的只是tfs日志。他说,我的用户名不包含请求(通过将我的尝试时间戳与日志同步进行跟踪)。

2018-07-19 07:04:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.12.2+(Microsoft+Windows+NT+6.3.9600.0;+Win32NT+x64)+CLR/4.0.30319+VS15/15.0.0 - 401 2 5 62
2018-07-19 07:23:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.18.0.windows.1 - 401 2 5 62
2018-07-19 07:23:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.18.0.windows.1 - 401 1 3221225581 187
Run Code Online (Sandbox Code Playgroud)

而其他人包括它

2018-07-19 05:44:27 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 DOMAIN\LOGIN ANOTHERIP git/2.12.2+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1;+Win32NT+x64)+CLR/4.0.30319+VS15/15.0.0 - 200 0 0 265
Run Code Online (Sandbox Code Playgroud)

uno*_*yar 47

转到 > Control Panel\User Accounts\Credential Manager>Manage Windows Credentials 并删除所有涉及Git 的通用凭据。(这样您就可以重置所有凭据)

在此之后,当你克隆,你会新建安全的问你的Git的用户名和密码,而不是身份验证错误。使用Sourcetree 的Mac 用户可以应用类似的逻辑。

希望能帮助到你。

  • 就像魔术一样!这是更改您的凭据密码后必须执行的操作... (3认同)
  • 密码重置是问题...解决方案到位... (2认同)
  • 在德语中,“Anmeldeinformationsverwaltung”代表凭证管理器。 (2认同)
  • 我真的希望 git 命令行提示输入新密码。VSCode 可以。 (2认同)

小智 44

添加usernamepassword为我工作:例如

https://myUserName:myPassWord@myGitRepositoryAddress/myAuthentificationName/myRepository.git
Run Code Online (Sandbox Code Playgroud)

  • 这看起来存在安全风险,请尝试仅在 URL 上传递您的用户名而不使用密码。 (18认同)
  • 可以确认,只有传递用户名确实会要求输入密码并正常工作。 (12认同)

小智 36

对于克隆私有存储库,只需放置passwordusername是不够的,因为终端不会告诉你,但你必须personal_access_token使用 github 帐户复制 并将其放在密码的位置。

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
Run Code Online (Sandbox Code Playgroud)

此外,您可以通过以下步骤轻松访问您的令牌:- 前往设置
开发者设置
个人访问令牌
现在检查 repo 列,然后单击Generate token 生成代币
恭喜!
现在,当终端要求输入密码时,复制并粘贴它。

NOTE: - Treat your tokens like passwords and keep them secret

  • 虽然这有效,但肯定不能每 30 天就这样做一次??? (3认同)
  • 好吧。有据可查的好事情。/秒 (2认同)

RBT*_*RBT 13

当我尝试在全新计算机上克隆存储库时,我遇到了完全相同的错误。我使用git bash作为我的git客户端。当我运行Git的命令来克隆存储库时,并没有提示我输入用于身份验证的用户ID和密码。这是一台新机器,Windows凭据管理器没有缓存单个凭据。

作为最后的选择,我在凭据管理器中手动添加了凭据。

转到Control Panel\User Accounts\Credential Manager>>Windows Credentials

单击Add a Windows credential链接,然后提供下面的表格中所示的详细信息,您就可以完成:

在此处输入图片说明

我把细节如下:

Internet or network address: 192.168.1.100
User Name: MyCompanysDomainName\MyUserName
Password: MyPassword
Run Code Online (Sandbox Code Playgroud)

下次每次您运行任何git命令作为目标在上面地址(192.168.1.100)上建立的存储库时,都将使用此手动缓存的凭据。

在这里分享我的经验,以防将来对某人有帮助。

  • 我必须在地址开头添加地址“git:”作为``git:https://www.YourWebsiteAddress.com``` (5认同)
  • 我必须添加到 ```generic credential``` 部分并添加 @AZ 指出的 url。(即``git:https://etc.com``)然后简单地添加我的用户名和密码。 (4认同)
  • 当我被迫更改密码时,这几次锁定了我的帐户,信用没有更新,提及这一点只是为了提高认识。 (2认同)
  • 这对我有用,即使使用 WebStorm 作为我的 IDE (2认同)
  • 这是完美的解决方案!谢谢 (2认同)

Gha*_*eti 6

如果不询问凭据,那么最简单的解决方案是使用凭据进行克隆。 在此输入图像描述

如果密码包含 URL 以奇怪方式处理的任何特殊字符,则选项 B 是合适的。该选项要求输入密码。


SLC*_*000 4

罪魁祸首是俄罗斯账户密码。

不小心设置了它(键盘布局错误)。一切都正常,所以没有费心去改变它。

出于绝望,现在改变了它,并且成功了。

如果有人查找了此线程,但它不是适合您的解决方案 - 请查看问题下的评论和我在问题中描述的步骤,它们可能对您有用。

  • 什么是*俄罗斯帐户密码*? (3认同)
  • @zwcloud 由西里尔字母组成的密码。例如“привет”或“Новый_пароль”。 (3认同)
  • 使用俄语布局键盘编写的密码......显然 (2认同)