git更新代码报错401 Unauthorized while accessing



最近在做一个小项目,代码托管在coding上面,git部署步骤不细说了, Git下载地址 ,win下面 tortoisegit64位 下载。

这里需要关注的是ssh-key生成之后的事情,生成方式github 官方地址 。

生成好了之后,我把copy到coding的公钥处,然后修改了测试代码,却在提交代码时候又跳出来请输入用户名和密码,这个就纳闷了。

后来发现,github push有两种方式,ssh方式和https方式。而https方式是不同的,具体来说,就是url信息的不同,实际的验证机制也是不同的。当建立了本机密钥之后,使用ssh方式实际上是不需要再次验证的,而https则每次都需要输入密码。而ssh方式更安全,不需要很麻烦去输入长长的密码。

打开看一下repo目录下的.git/config,果然,发现我的url是https方式。

[remote "origin"]
    url = https://coding.net/xxx/xxxxx.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    puttykeyfile = X:\\test\\xxxx.ppk

默认clone下来时候选择成了https,导致每次都需要输入用户名和密码。修改一下配置文件中的url即可:

[remote "origin"]
    url = git@coding.net:xxx/xxxxx.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    puttykeyfile = X:\\test\\xxxx.ppk


18># git pull
error: The requested URL returned error: 401 Unauthorized while accessing https://git.ishopex.cn/yewei/crm_me.git/info/refs

fatal: HTTP request failed

有话要说