2016-08-18 67 views
0

我有一個在visualstudio.com上託管的Git項目。每當我啓動git pushgit pull時,它總是彈出打開Team Services登錄窗口,然後我必須關閉該窗口,因爲從該窗口登錄需要更長時間並需要重定向。然後我可以使用Git Bash來輸入我的憑據並且它可以工作。如何阻止Git Bash在推或拉上打開Team Services(VSO)登錄窗口?

這並沒有發生,直到最近,當我更新了我的Git安裝版本。如何阻止每次出現窗口?彈出窗口的Here's a screenshot

+0

'git config --get core.askpass'顯示什麼? –

+0

不,它只是採取命令,什麼都不做。 – Longblog

+0

'$ SSH_ASKPASS'和'$ GIT_ASKPASS'的值是多少? (你應該能夠從Git Bash提示中'回顯'這些)。 –

回答

1

按照gitcredentials documentation

沒有任何憑據的助手定義,Git會嘗試以下策略,要求用戶名和密碼的用戶:

  1. 如果GIT_ASKPASS環境變量設置,由該變量指定的程序被調用。在命令行上向程序提供適當的提示,並從標準輸出中讀取用戶的輸入。

  2. 否則,如果core.askPass配置變量被設置,它的值被用作以上。

  3. 否則,如果SSH_ASKPASS環境變量被設置,它的值被用作以上。

  4. 否則,用戶被提示在終端上。

因此,強制選項4生效,你需要確保其他三個值未設置。

爲1和3,你應該能夠做到如SSH_ASKPASS=''。 (要自動執行此操作,請將該行添加到C:\Users\<user>\.bashrc。)對於2,請執行git config --unset-all core.askPass


你可以從報價的第一行告訴,如果你沒有定義任何憑據傭工這僅適用。如果你這樣做,那麼你可以按照EdwardThomson's answer中描述的那樣去除它們。

+0

我按照這些說明操作,它仍然彈出。 – Longblog

+0

如果這不起作用,那麼[EdwardThomson的回答](// stackoverflow.com/a/39028773/2747593)應該是正確的。 –

2

該窗口由Microsoft's Git Credential Manager打開,如果您使用或MFA with VSTS,則該窗口很有用。它現在默認與Git for Windows一起安裝。

如果您希望禁用此功能,您可以關閉微軟的Git的憑據管理器。只需運行:

git config --global --unset credential.helper 
+0

這沒有做任何事情。它仍然彈出。 – Longblog

+1

你可以在你的問題中發佈'git config --list'的結果嗎? –

+0

@EdwardThomson是'。「在這個命令的末尾是多餘的? –

相關問題