簡體   English   中英

Git 憑證助手 - 更新密碼

[英]Git credential helper - update password

我目前在 HTTPS 上使用 GitHub,並在 Windows 7 上安裝了最新版本的 Git (1.9.0) 以及 Git 憑證助手。

在設置我的環境時,我告訴 git-credentials 永久記住我的用戶名和密碼。

我最近通過網站更新了我的 GitHub 密碼,現在我無法再進行推送/拉取/獲取等操作。

我將如何 go 關於在 Windows 7 上更新我的 git-credentials helper 密碼?

這些答案最終都沒有解決我的 Git 憑證問題。 如果有人需要它,這確實有效(我在 Windows 8.1 上使用 Git 1.9)。

要更新您的憑證,請轉至控制面板憑證管理器通用憑證 找到與您的 Git 帳戶相關的憑據並編輯它們以使用更新后的密碼。

參考: 如何在 Windows 上更新您的 Git 憑據

請注意,要使用適用於 Git 的 Windows 憑據管理器,您需要像這樣配置憑據助手:

git config --global credential.helper wincred

如果您有多個 GitHub 帳戶用於不同的存儲庫,那么您應該配置憑據以使用完整的存儲庫路徑(而不僅僅是域,這是默認值):

git config --global credential.useHttpPath true

在我更改密碼后第一次嘗試 Git fetch 時,我被告知我的用戶名/密碼組合無效。 這是正確的,因為 git-credential 助手緩存了我的舊值。

但是,我在重新啟動終端/命令提示符后嘗試了另一個git fetch ,這次憑證助手提示我輸入我的 GitHub 用戶名和密碼。

我懷疑最初失敗的 Git fetch 請求結合重新啟動我的終端/命令提示符為我解決了這個問題。

我希望這個答案可以幫助將來處於類似位置的其他人!

如果您是 Windows 用戶,則可以在 Credential Manager 中刪除或更新您的憑據。

在 Windows 10 中,轉到以下路徑:

控制面板所有控制面板項目憑證管理器

或者在“開始”菜單的“搜索窗口”部分中搜索“憑據管理器”。

然后從憑據管理器中,選擇“Windows 憑據”。

憑據管理器將在“通用憑據”下顯示許多項目,包括您的 Outlook 和 GitHub 存儲庫

您單擊 Git 右側的下拉箭頭:它將顯示編輯和刪除選項。 如果您刪除,則下次獲取或拉取時會出現憑據彈出窗口。 或者您可以直接在那里編輯憑據。

使用命令行的 Windows、Linux 和 MacOS 解決方案

如果您已在 GitHub 服務器上更新了 GitHub 密碼,則在git fetch/pull/push命令的第一次嘗試中,它會生成身份驗證失敗消息。

再次執行相同的git fetch/pull/push命令,它會提示輸入憑據(用戶名和密碼)。 輸入GitHub服務器的用戶名和更新后的密碼,登錄成功。

即使我也有這個問題,我執行了上述步驟並完成了!!

首先通過 Git 命令git --version找到您正在使用的git --version 如果您的版本高於 1.7.10,則只需使用以下命令:

git config --global credential.helper wincred

然后執行git fetch ,然后提示輸入密碼更新。

現在,它不會在 Git 中多次提示輸入密碼。

在我看來,這里的答案已經過時了。 對我來說,使用 Git v2.15.0 完成了這項工作:

git credential reject
protocol=https
host=github.com
<Empty line here>

然后設置新的用戶名和密碼:

git credential fill
protocol=https
host=github.com
<empty line here>

在此之后,如果憑證現在可以在所需的目標主機上運行,​​我們應該使用git credential approve permit - 正如Git 憑證的典型使用(第 4 步)中提到的 - 告訴憑證助手將憑證標記為已批准並在將來重用它們連接。

FWIW,我偶然發現了同樣的問題(我的老板也是,所以它變得更加激烈)。

即時解決方案是刪除或修復 Windows 憑據管理器中的 Git 條目。 你可能也很難在本地化Windows版本發現它,但幸運的是,你可以用好舊的Windows + R運行對話框啟動control keymgr.dllcontrol /name Microsoft.CredentialManager (或rundll32.exe keymgr.dll, KRShowKeyMgr如果您更喜歡經典外觀)。 或者把它放在一個批處理文件中給你的同事: cmdkey /delete:git:http://your.git.server.company.com

在 Microsoft 的 Git Credential Manager 中,這是一個已知問題,最快可能會在 2019 年初修復(所以不要屏住呼吸)。

更新(2020-09-30) :GCM4W 似乎或多或少被拋棄了(上次發布是一年多前,從那時起只有一個 commit to master,我不騙你,“重新創建 GCM Logo 的可擴展版本” )。 但是不要絕望,隨着微軟現在轉向 Core,有一個名為GCM Core的閃亮新項目,它似乎可以正確處理密碼更改。 它可以獨立安裝(應該自動激活,否則使用git config --system credential.helper manager-core激活)但也包含在當前的 Windows 2.28.0 Git 中。 有關它的更多信息,請參閱此博客文章

適用於 Windows 的工作解決方案:

控制面板 > 用戶帳戶 > 憑證管理器 > 通用憑證

在此處輸入圖片說明

只需在安裝 git-credential-winstore 的目錄中cd即可。 如果你不知道在哪里,只需在 Git Bash 中運行它:

cat ~/.gitconfig

它應該打印如下內容:

[credential]
    helper = !'C:\\ProgramFile\\GitCredStore\\git-credential-winstore.exe'

在這種情況下,您的存儲庫是 C:\\ProgramFile\\GitCredStore。 使用 Git Bash 或 Windows 命令進入此文件夾后,只需鍵入:

git-credential-winstore.exe erase
host=github.com
protocol=https

不要忘記在protocol=https后按Enter兩次。

當前的解決方案都不適用於 git bash 2.26.2。 如果您使用 Windows 憑據管理器,這應該在任何情況下都有效。

一個問題是為登錄用戶運行的 Windows 憑據管理器。 例如,在我的情況下,我右鍵單擊運行 git bash,以管理員身份運行。 因此,我存儲的憑據位於憑據管理器中,如果我不以管理員身份登錄 Windows,則無法使用 Windows GUI 訪問該憑據。

要解決此問題:

  • 以管理員身份打開一個 cmd(或者你用 bash 運行的任何用戶)
  • 轉到 windows/system32
  • cmdkey /list 您的舊憑據應顯示在此處,其中一部分內容為 ...target: xxx ...
  • 鍵入cmdkey /delete:xxx ,其中 xxx 是上一行的目標

它應該確認您的憑據已被刪除。 下次您在 git bash 中執行任何需要身份驗證的操作時,彈出窗口將詢問您的憑據。

對於 Windows 10,它是:

控制面板 > 用戶帳戶 > 管理您的憑據 > Windows 憑據,搜索 git 憑據並編輯

如果您已重置密碼,則會在 git bash 命令窗口中收到 Auth failure 錯誤。 (它不會顯示您可以在其中輸入新密碼的彈出窗口)。

在 git bash cmd 窗口中輸入以下命令:

$ git config --global credential.helper wincred

有時它會顯示彈出窗口以輸入新密碼,或者有時當您嘗試執行$git clone ..command 時會顯示彈出窗口

如果你不斷收到“fatal: Authentication failed for "https://......git”並且你無法更新密碼。

  1. $ git 配置 --global credential.helper wincred
  2. git 克隆-b..git
  3. 將顯示用戶名密碼的彈出窗口
  4. 輸入新密碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM