2013-04-05 22 views
0

我有一個beaglebone,我建立了一段時間(當我第一次學習git)與ssh密鑰爲特定的github帳戶。該帳戶是我們公司的主要帳戶。許多人直接工作,並直接從beaglebone推到github上。我想更改設置,以便每當有人想要提交或推送到github時,都會查詢他們的用戶名。更改git設置以允許多個用戶推送/提交文件

我最近的提交和推送看起來像這樣...您會看到我無法輸入用戶名,只是公司主帳戶的密碼。

[email protected]:/var/lib/cloud9/pypos# git commit -a -m "class restructured and passing the new updated test script" 
[class_restructure 1db2e33] class restructured and passing the new updated test script 
2 files changed, 14 insertions(+), 10 deletions(-) 
[email protected]:/var/lib/cloud9/pypos# git push origin class_restructure 
Enter passphrase for key '/home/root/.ssh/id_rsa': 
Counting objects: 7, done. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (4/4), 531 bytes, done. 
Total 4 (delta 3), reused 0 (delta 0) 
To [email protected]:FarmDesign/pypos.git 
    83831a8..1db2e33 class_restructure -> class_restructure 
[email protected]:/var/lib/cloud9/pypos# 

回答

3

GitHub支持不同的協議,與您在那裏託管的存儲庫進行通信。如果你使用SSH協議,那麼git會要求你輸入密碼來解鎖存儲在.ssh中的密鑰,這個密鑰與推送到GitHub倉庫的能力有關係(任何有權訪問密鑰的人都可以推送到倉庫,所以提供訪問密鑰的密碼是所需的)。但是,如果您使用HTTP,則會詢問您的GitHub用戶名和密碼。

因此,請轉到存儲庫的GitHub網頁,並注意存儲庫URL(靠近頁面頂部)旁邊的HTTP,SSH和GIT切換按鈕。使用該按鈕來查看回購網址的變化方式 - 這些是根據您使用的協議訪問回購網站的不同網址。現在,點擊「HTTP」並將該URL複製到剪貼板。

現在,轉到您的終端並cd到您本地克隆的回購目錄。現在,使用git的遠程命令來更改在此混帳將與GitHub庫進行通信的網址:

git remote set-url origin THE_URL_THAT_YOU_JUST_COPIED_TO_CLIPBOARD 

現在,當你嘗試做混帳推,git會使用HTTP協議,這將要求您指定你的用戶名和密碼。

+0

不幸的是我很難設置一個https(這是一個私有存儲庫),這就是爲什麼我使用SSH密鑰...我明白,通過SSH在同一臺機器上使用多個用戶是不可能的? – Chris 2013-04-15 15:55:53

+0

您應該可以爲私有存儲庫設置HTTPS。我有私人回購協議,並沒有使用HTTPS的麻煩。但是,您必須將其他GitHub用戶作爲協作者添加到回購站,以便他們能夠通過HTTPS訪問回購站。 至於使用SSH密鑰和多個用戶 - 是的,可能有多個用戶在同一臺​​計算機上並使用SSH。如果每個用戶的ssh密鑰都存儲在一個單獨的用戶帳戶中,那麼這是可能的。但是,我注意到您使用的是根帳戶中的ssh密鑰(請參閱您的問題,輸入密鑰「/home/root/.ssh/id_rsa':')的密碼。 – 2013-04-15 17:03:07

相關問題