2012-04-12 67 views
12

我們最近將我們的github從一個賬戶所有者轉移到另一個賬戶,現在突然間,當我在遠程倉庫執行git pull或任何git命令時,它會要求我提供github用戶名和密碼。爲什麼github不斷要求我提供回購憑證?

我的混帳配置說:

[github] 
    user = kamilski81 
    token = ********* 

任何想法,我怎麼能阻止它問我要證件,記住一切,並在新的所有者必須設置我的SSH密鑰或者諸如此類的東西嗎?

回答

9

做了「遠程-v」之後....問題是我的遠程使用的是「https」遠程而不是「git」遠程。更改遠程使用git而不是https解決了所有問題。

11

gitconfig用戶名和gitconfig中的令牌僅用於與GitHub API(例如hub gem和github工具)的交互。

如果您通過https推送和從GitHub存儲庫中提取,那麼您需要每次指定您的憑證,或掛鉤到密碼管理器以記住您的憑證。如何做到這一點取決於你的平臺。

最簡單的做法是轉到您的github帳戶並將您的SSH公鑰提交到您的帳戶,然後切換您的github遠程以通過ssh而不是https進行推/拉。

重新閱讀這個問題之後,我注意到您提到它之前是一個GitHub倉庫,剛剛從一個所有者移到另一個倉庫。如果是這樣的話,你可以通過指定您的憑據,推拉,它的聲音對我來說兩種情況之一:

  • 以前的遠程使用SSH和GitHub的有你的SSH密鑰;但是當所有者發生變化並且您更新了遠程設備時,您將其更新爲通過https。
  • 以前的遠程使用https,但你有一個密碼管理器設置正確,以處理您的憑據,它不再有效。
+0

感謝亞歷克斯,以前的工作是HTTPS遠程,和新的遠程也HTTPS。我在Mac上運行,應該查看哪個密碼管理器? – Kamilski81 2012-04-13 16:32:51

0

如果你只執行一次混帳拉和Git客戶端仍然要求你的憑證,而不做混帳拉對你來說,應該是問題,因爲你的證書是不正確或不安裝呢。

但是,如果您獲得對話框要求爲每個操作提供憑證一,則意味着您的憑證不會被記住。要做到這一點,您可以使用Pageant來存儲您的SSH私鑰,因此,每次您執行某項操作時,它都會從Pageant中檢索您的憑據,而不是向您詢問。

相關問題