与 this post 不同,我使用的是 macOS。
我在 GitLab 中配置了密码。在 GitLab 上创建项目后,我还创建了一个 SSL 密钥。
当我将现有文件夹用于新项目并按照以下步骤操作时,系统会提示我输入 GitLab 用户名和密码。
现有文件夹
cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master
输入密码后,我收到以下错误。
远程:HTTP 基本:访问被拒绝致命:“https://gitlab.com/myname/myproject”的身份验证失败
每次我被迫更改 Windows 密码时都会发生这种情况,而上述答案都没有帮助我。
尝试以下对我有用的解决方案:
转到 Windows 凭据管理器。这是在 EN-US Windows 中通过按 Windows 键并键入“凭据”来完成的。在其他本地化的 Windows 变体中,您需要使用本地化术语(请参阅注释以获取一些示例)。或者,您可以在运行对话框中使用快捷方式控制 /name Microsoft.CredentialManager (WIN+R) 编辑 Windows Credentials 下的 git 条目,用新密码替换旧密码。
对我来说,以下工作:
不要使用您的 GitLab 密码,而是创建一个访问令牌并使用它来代替您的密码:
在 GitLab 中,在右上角,转到个人资料 → 设置 → 访问令牌 创建一个新的个人访问令牌(检查 api 选项) git clone ... 当您被要求输入密码时,复制并粘贴访问令牌而不是你的 GitLab 密码
您可以尝试以下命令:
git config --system --unset credential.helper
然后,输入 Git 远程服务器的新密码。
git config --global--unset credential.helper
/etc
,您可能需要将此命令作为 sudo
运行
我遇到了同样的错误,我通过以下方式解决了这个问题:
从 cmd 应用命令(以管理员身份运行) git config --system --unset credential.helper 然后我从 C:\Program Files\Git\mingw64/etc/ 位置删除了 gitconfig 文件(注意:此路径在 MAC 中会有所不同像“/Users/username”)之后使用 git 命令,如 git pull 或 git push,它要求我输入用户名和密码。应用有效的用户名和密码和 git 命令工作。
希望对你有帮助...
git config --global --unset credential.helper
尝试这种方式
唯一对我有用的是使用 https://username:Password@gitlab.com/user/projectgit
而不是 https://gitlab.com/user/projectgit
。请参阅https://gitlab.com/gitlab-com/support-forum/issues/1654
git remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere
转到 Windows 凭据管理器(按 Windows 键并键入“凭据”)以编辑 Windows 凭据下的 git 条目。用新密码替换旧密码。
https://i.stack.imgur.com/JxDfZ.png
只需在域前添加您的用户名:
https://**username**@gitlab.com/user/projectgit
助手会问你密码
我也面临同样的问题。问题的原因是身份验证错误。要解决此问题,请转到控制面板-> 凭据管理器-> 通用凭据在这里找到您的 gitlab 凭据并进行编辑。确保您的 ID 密码正确与否
https://i.stack.imgur.com/LLMTI.png
如果你使用 git > 2.11 并使用 Kerberos 与 Gitlab 交互,您需要在本地 git 中设置此配置以避免 remote: HTTP Basic: Access denied
错误。
$ git config --global http.emptyAuth true
Kerberos
不是必需的。谢谢! git-scm.com/docs/git-config
好吧,每当我更改登录密码时,我都会遇到同样的问题。
以下是我需要运行来解决此问题的命令:-
git config --global credential.helper wincred
运行上述命令后,它再次询问我更新的用户名和密码。
注意:不要混合 GitLab SSL settings 和 GitLab SSH keys。
如果您在 GitLab 配置文件中配置的是 SSH 公钥,那么您的 HTTPS URL 将不会使用它。
关于您的 HTTPS 凭据,请仔细检查:
如果禁用了双因素身份验证,或者
如果您的用户名或密码中有特殊字符,或者
如果你有 Git 凭证助手:git config credential.helper。
git config credential.helper
时你会看到什么:这可能缓存了错误的凭据。
在深入研究解决方案之前,让我们先看看为什么会发生这种情况。
在您的机器与 git 进行任何交易之前,git 检查您的身份验证,这可以使用
SSH 密钥令牌存在于您的机器中并与 git-repo 共享(最首选)或使用您的用户名/密码(最常用)
为什么会发生这种情况
简而言之,这是因为存储在您机器中的凭据不真实,即您存储在机器中的密码可能与 git 中的密码不同,因此
解决方案
前往控制面板并搜索凭据管理器,查找您使用的 git url 并更改凭据。
你去吧,这几乎适用于所有窗口跟踪
如果您更改 git 服务帐户(GitHub 或 GitLab、Bitbacket 等)的登录名或密码,就会发生这种情况。您还需要在 Windows 凭据管理器中更改它。
因此,在 Windows 搜索菜单中键入“凭据管理器”(rus.“Диспетчер Учетных Данных”),然后转到您的 git 服务帐户并更改数据。
https://i.stack.imgur.com/iPLCC.png
我相信我来这里有点晚了。但我认为这将有助于新的窥视者!
我的错误是:远程:HTTP 基本:访问被拒绝
远程:对于基于 HTTP 的 Git,您必须使用具有“read_repository”或“write_repository”范围的个人访问令牌。
远程:您可以在 https://gitlab.com/profile/personal_access_tokens 生成一个
致命:“https://gitlab.com/PROFILE_NAME/REPO_NAME.git/”的身份验证失败
我在 Ubuntu 上,但这对我有用:
转到 https://gitlab.com/profile/personal_access_tokens 创建新令牌并标记检查所有人。复制您的令牌现在转到您的终端并像这样粘贴它。
git 克隆 https://oauth2:YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/
<USERNAME>:<PERSONAL_TOKEN>@gitlab.com/<USERNAME>/<REPO_NAME>.git
在配置“镜像存储库”时对我有用
以管理员身份打开命令提示符,然后运行以下命令:
git config --system --unset credential.helper
尝试这个:
转到: C:/Users/(YourUserName)/ 删除文件 .gitconfig
我有两种方法可以解决这个问题:
我将我的用户名添加到远程 URL 的前面 (https://username@gitRepoURL) 并不总是最好的解决方案;在我工作的地方,尽管我们正在慢慢转向使用 GIT,但我们的应用程序都在网络驱动器上,所以如果我这样做,即使其他人致力于某个功能,也只有我可以推送更改。我无法从 GIT Bash 运行 git config --system --unset credential.helper,所以我必须打开一个管理命令提示符并在那里运行它(假设您安装了 GIT,这样它就可以从 GIT Bash 和命令提示符)。在 Bash 中,我收到“无法锁定配置文件”错误。
git config -l
。也可以在上面尝试使用 --global
而不是 --system
这肯定是一个错误,ssh 可以在我的一台机器上工作,但不能在另一台机器上工作。我解决了,按照这些。
生成一个永不过期的访问令牌,然后选择所有可用选项。删除现有的 SSH 密钥。使用 https 而不是 ssh 克隆 repo。使用用户名,但使用生成的访问令牌而不是密码。
https://i.stack.imgur.com/MSeru.png
或者,您可以在现有存储库中使用此命令将远程设置为 http,并使用此命令 git remote set-url origin https://gitlab.com/[username]/[repo-name].git
Mac 上的 Sourcetree 也有同样的问题
解决方案:删除钥匙串访问中的密码。
https://i.stack.imgur.com/LWVqV.png
当您再次尝试推送时,它会询问您的密码。
转到控制面板->凭据管理器->Windows凭据选择github或gitlab凭据并进行修改。这是针对windows10的
我从 Windows 中的“凭据管理器”中删除了 gitlab 凭据并成功推送
当我遇到同样的问题时,
我通过删除文件“passwd”解决了它
C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree
删除 Sourcetree 后会提示输入密码。
Note:
OS Version : win10
Sourcetree Version: 3.1
对我来说,这是放在配置文件中的其他一些 git URL,所以我确实手动更改了它:
移至 .git/config 文件并编辑它,删除无效 URL(如果存在)并粘贴有效的 git SSH/HTTP URL,如下所示:
[remote "origin"]
url = git@gitlab.com:prat3ik/my-project.git
它正在工作!
我在使用 GitLab 时遇到了同样的问题,这就是我修复它的方法:
生成访问令牌:为此,请转到设置/访问令牌,然后为其命名和到期日期并提交。在您的项目文件中打开“.git”目录中的“config”文件:/.git/config。你会发现这样一行: [remote "origin"] url = https://[username]:[token]@your-domain.com/your-project.git 你将拥有你的 gitlab 用户名而不是 [username] ,并且您应该将 [token] 替换为您在步骤 1 中生成的令牌。保存更改。
奇怪的是,对我有用的是退出并重新登录 GitLab Web UI。
我不知道为什么这会奏效。
它对我有用:我使用 Mac,我在 finder 上写了路径:
~/库/应用程序支持/SourceTree
我删除了应该是这样的身份验证文件
yourUserName@STAuth-gitlab.yourAdress
然后尝试从源代码树中推送和拉取代码并且它起作用了。
您还可以阅读以下答案:
对于 Mac 用户:
转到钥匙串并删除 gitlab 帐户在终端中转到您的项目路径,只需输入 git pull 然后您将被要求输入 gitlab 的用户名和密码 输入您的用户名,您将在配置文件部分的 gitlab 帐户中找到该用户名。然后在此处输入您更新的密码。在这里,我们再次尝试推送您的代码,它可能对你们有所帮助。
就我而言,我重新安装了最新版本的 git(当前为 2.16.2)。我不知道是不是我的旧版本的 git 过时了,但我在 github page 上读到,如果您偶然发现 https 克隆错误,应该这样做。我认为这是一个 https 克隆错误,因为错误集中在 HTTP Basic
,而 GitLab 使用 HTTPS
。在这个思考过程中我可能错了,但解决方案对我的情况有所帮助,我希望这对未来的任何人都有帮助!
上述解决方案均不适合我而且我的笔记本电脑没有管理员权限,但它们最终将我带到了 git tools credential storage doc:
我的设置 Windows 10 | git 版本 2.18.0.windows.1 |通过 HTTPS 链接克隆
如果您使用 wincred 作为凭证助手,则此解决方案有效:
> git config --global credential.helper
wincred
将助手更改为“缓存”应该可以解决问题,因为它会要求您再次提供凭据。要将其设置为缓存,只需键入:
> git config --global credential.helper cache
检查您的更新是否处于活动状态:
> git config --global credential.helper
cache
您现在应该能够像以前一样克隆/拉/取。
转到 C:\Users\<<USER>> AND DELETE THE .gitconfig file
,然后尝试连接到上游的命令,如 git clone, git pull or git push
。系统将提示您重新输入您的凭据。请这样做。
不定期副业成功案例分享