git credential-osxkeychain 掛起

git credential-osxkeychain 掛起

如果我執行git credential-osxkeychain get,它只會在應該返回有關鑰匙圈中儲存的憑證的資訊時掛起。有辦法讓這項工作發揮作用嗎?

我使用的是 OS X 10.15.5

$ git credential-osxkeychain
usage: git credential-osxkeychain <get|store|erase>

$ git --version
git version 2.27.0

答案1

所有git credential-*助手都旨在由 git 本身內部使用並遵循特定的介面。

當使用子命令運行幫助程式時get,它等待 stdin 上的輸入並期望讀取一系列“key=value”行。例如,host=github.com。這就是 git 告訴助手的方式哪個需要憑證。

當您直接在終端機中執行程式時,其標準輸入僅連接到鍵盤輸入。第一次按鍵後Enter,工具已經在運行,但正在等待鍵盤輸入,就像catsed等工具一樣。

第二次按鍵後,程式讀取一個空白行並將其視為「輸入結束」指示符,即不再輸入 key=value 行。此時,它會搜尋鑰匙圈並找到它認為與您「提供的」過濾器相符的條目。

答案2

這對我有用: 透過命令列刪除您的憑證

$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]

如果成功,則不會列印任何內容。要測試它是否有效,請嘗試從 GitHub.com 複製一個私人儲存庫。如果系統提示您輸入密碼,則表示鑰匙圈條目已被刪除。

相關內容