fatal: Authentication failed (一)

该问题已更新,请到点击此处进行解决跳转: fatal: Authentication failed (二)

一、前言

  我们在公司做项目,很多时候会遇到这个问题:Git failed with a fatal error. Authentication failed for ‘ http// xxx......’

  

说实话,这个问题很恶心,反正我在百度stack overflow 找了好久,终于找到了,我原本是想把关于这个问题的 百度出来的解决方案,网页能显示的全部看一遍的。反正这问题我是一定要解决,最后解决了,写这篇文章,希望可以给大家提供好的方案。

  参考资源:博客 zhaozhi406 git的一些错误总结

  参考资料最初来源: 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 中,链接项目然拉取项目了。

四、总结

  遇见问题不要怕,勇敢面对就对了。如果可以,帮忙点赞,让更多的朋友早日解决这个问题!

 

 

posted @ 2017-12-27 17:28  周兴兴  阅读(46394)  评论(3编辑  收藏  举报