fatal: Authentication failed (一)
该问题已更新,请到点击此处进行解决跳转: fatal: Authentication failed (二)
一、前言
我们在公司做项目,很多时候会遇到这个问题:Git failed with a fatal error. Authentication failed for ‘ http// xxx......’
说实话,这个问题很恶心,反正我在百度和 stack overflow 找了好久,终于找到了,我原本是想把关于这个问题的 百度出来的解决方案,网页能显示的全部看一遍的。反正这问题我是一定要解决,最后解决了,写这篇文章,希望可以给大家提供好的方案。
参考资料最初来源: stackoverflow
二、问题产生原因
因为我们访问的是不公开的项目,只为公司的开发团队内部人员所知,需要密码才可以访问。虽然我们可以通过 用户名 和 密码登陆 到代码仓库,但我们下拉时项目是,用户名和密码是没有包含在下拉的 URL 中,所以就会出现 Authentication failed (身份验证失败)这个问题。而不是在其他解决方案中的设置 UserName 和 UserEmail 。
三、解决方案
这里有两种解决方案,第一种是在克隆的 URL 中输入我的验证信息 用户名和密码。
第一种解决方案:
git clone http://username:password@projectUrl
这里注意:如果你的 username 或者 password 中含有 ”@“ 符号,可以考虑换一个密码。默认会将 @后面当中 url 来使用。
实例如下:我这里使用的是 git bush 直接克隆项目。 1 代表用户名、2 代表密码 、3代表克隆的url
示例如下:
git clone http://zxx:123456@github.com/gzbitzxx/xxx.git
这是第一种,如果你感觉每次都要输入用户名和密码在 URL 中然后感觉不爽,那你就用第二种。
第二中解决方案:
在自己电脑的home目录下创建一个文件:操作系统 window 就创建一个 _netrc 的文件,linux 就创建一个 .netrc 文件。
我这里与 windows 系统为例:在 _netrc 文件中写
machine 目标服务器的域名(如 www.baidu.com )
login 你用于访问服务器的用户名
password 你用于访问的密码
然后就可以不在 url 中输入 用户名和密码来克隆。如果不起作用,重启电脑一下。
实例如下:home 路径就是你当前用户使用的路径,我的当前路径如下,我的文件就是放在这个地方的。
文件中的内容示例如图所示下:
然后就可以去 vs 中,链接项目然拉取项目了。
四、总结
遇见问题不要怕,勇敢面对就对了。如果可以,帮忙点赞,让更多的朋友早日解决这个问题!
------------------------------------------------
愿今日之努力日后想起还能浅浅一笑,不愿今日之颓废用长长一生去悔恨!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!