用https方式 git clone 项目代码时用户名和密码的问题 · Issue #201 · yaoningvital/blog · GitHub 您所在的位置:网站首页 gitclone要密码 用https方式 git clone 项目代码时用户名和密码的问题 · Issue #201 · yaoningvital/blog · GitHub

用https方式 git clone 项目代码时用户名和密码的问题 · Issue #201 · yaoningvital/blog · GitHub

2023-08-13 02:26| 来源: 网络整理| 查看: 265

一、问题场景

入职新公司,下载一个项目。

step1

用https方式克隆项目,报下面的错误: image

用 ssh 方式克隆项目,报下面的错误: image

step2

据说是因为没有在git中添加用户名和邮箱才导致的,于是尝试添加一个 user.name 和 user.email :

git config --global user.name "yaoning" git config --global user.email [email protected]

然后执行git clone,仍然报上面的错误。

step3

听同事说要执行一个命令:git credential-manager uninstall,这个命令的作用是 清除掉缓存在git中的用户名和密码。

于是我执行了这个命令,然后用https方式克隆,此时就会提示需要输入用户名和密码:

think@think-PC MINGW64 /e/zny-projects $ git clone https://hyperv28.msdi.cn/tfs/Power5DBIM/DigitalEngineeringPlatform/_git/zny-boilerplate Cloning into 'zny-boilerplate'... Username for 'https://hyperv28.msdi.cn':

于是我输入我在第二步设置的用户名 yaoning,密码输入的是登录这个代码管理平台的密码,结果报下面的错误:

think@think-PC MINGW64 /e/zny-projects/test $ git clone https://hyperv28.msdi.cn/tfs/Power5DBIM/DigitalEngineeringPlatform/_git/zny-boilerplate Cloning into 'zny-boilerplate'... Username for 'https://hyperv28.msdi.cn': yaoning Password for 'https://[email protected]': fatal: Authentication failed for 'https://hyperv28.msdi.cn/tfs/Power5DBIM/DigitalEngineeringPlatform/_git/zny-boilerplate/' step4

从上面的错误中,可以知道,提示没有权限。其实问题就出在用户名,用户名不应该是我在第二步中设置的用户名,而应该是登录这个代码管理平台的用户名。因为当你输入用户名之后,它会把用户名放到代码管理平台服务器地址的前面,即:https://[email protected] ,让你继续输入密码。所以就可以知道了,这里的用户名和密码都应该是登录这个代码管理平台的用户名和密码。

二、总结解决方案

执行下面的命令,清除掉缓存在git中的用户名和密码:

git credential-manager uninstall

然后用https方式 git clone ,输入代码管理平台的用户名和密码。

三、问题

1、清除掉缓存在git中的用户名和密码后,以后每次用 https 方式拉取代码都需要输入用户名和密码。执行下面的命令可以解决这个问题。

git config --system --unset credential.helper git config --global credential.helper store

这个命令的作用是长期存储密码。

2、用 ssh 方式仍然报错:

think@think-PC MINGW64 /e/zny-projects/test $ git clone ssh://hyperv28.msdi.cn:22/tfs/Power5DBIM/DigitalEngineeringPlatform/_git/zny-boilerplate Cloning into 'zny-boilerplate'... ssh: connect to host hyperv28.msdi.cn port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有