如何更新 git 遥控器的身份验证令牌?

ari*_*nai 12 git command-line gitlab

我撤销了GitLab 的令牌,如何设置新令牌以供 cmd 使用?

尝试推送时,这是我得到的错误:

remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/myusername/repo.git'
Run Code Online (Sandbox Code Playgroud)

credential.helper设置为manager

我试图取消设置credential.helper,然后当我推送它时要求提供凭据,当我提供它们时,这将起作用。如果我重新设置credential.helpermanager,它将再次引发之前的错误。

那么,如何设置新令牌?
(首选方法将来自 cmd)。

谢谢!

ari*_*nai 17

CMD

使用cmdkey

  1. 运行cmdkey /list命令行,并找到自己的目标。
  2. 要更新密码,请运行cmdkey /generic:$TARGET_NAME$ /user:$MYUSERNAME$ /pass并在提示时输入密码。
    • 例如: cmdkey /generic:git:https://gitlab.com /user:myusername /pass
  3. 再次使用凭据 - 推送到您的 git 遥控器。

图形用户界面

使用Windows 凭据管理器

  1. 从开始菜单中,搜索并打开Credential Manager
    • 或者,运行 control /name Microsoft.CredentialManager
  2. 转到Windows 凭据部分并找到您的相关凭据(例如 git 远程服务,在本例中为 GitLab)。
  3. 打开凭据详细信息。
  4. 选择编辑
  5. 输入新密码。
  6. 节省。
  7. 再次使用凭据 - 推送到您的 git 遥控器。

在此处输入图片说明


use*_*686 8

这是一个通用方法,它应该适用于所有当前配置的(和可写的)凭证助手(老实说,我很惊讶 git 没有自动执行此操作——它应该这样做):

  1. 运行git credential reject(使用所有配置的助手)或git credential-manager erase(使用manager助手)。

  2. 输入以下文本:

    protocol=https
    host=gitlab.com
    path=/myusername/repo.git
    
    Run Code Online (Sandbox Code Playgroud)

    git credential工具也接受一个更简单的版本(但个别助手不接受):

    url=https://gitlab.com/myusername/repo.git
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在空行处,按Ctrl+Z, Enter(Windows 控制台)或Ctrl+D(Linux、Cygwin、macOS...)以表示输入结束。

  4. 如果需要,请重复git credential fillgit credential-manager get以确保无法再检索凭据。