2011-02-16 83 views
3

一切適用於第一個用戶(Git用戶,而不是Unix用戶),讓我們稱他爲aaa,針對第一個存儲庫。 AAA設置爲git的user.name和user.email全局使用命令如何在同一臺機器上使用多個帳戶推送到多個Git存儲庫?

git config --global user.name "aaa" 
git config --global user.email [email protected] 

AAA執行該命令

git push origin master 

成功。

然後我有第二個用戶,讓我們在同一臺機器上稱他爲bbb(再次Git用戶,而不是Unix usr),但是不同的本地工作目錄試圖推送到不同的Git存儲庫。首先,我重寫user.name和user.email屬性。所以git的初始化之後,我執行:

git config user.name "bbb" 
git config user.email [email protected] 

然後確認:

git config --get user.name 

不會返回BBB。當我嘗試將bbb推送到他自己的存儲庫時,git會提示輸入SSH密碼,並且似乎接受密碼,但通過向aaa拒絕權限拒絕了錯誤。

我懷疑這與SSH密鑰有關。這是一個正確的假設嗎?

+1

.git/config文件的用戶部分是什麼樣的? – Abizern 2011-02-16 12:33:01

回答

0

在ssh協議上,您不必輸入ssh密碼:
ssh [email protected]」應該允許您訪問遠程(安全)shell。

權限被拒絕意味着您的服務器周圍有一些封裝(基於ssh),如gitolite
的唯一途徑gitolite將採取bbbaaa是,如果bbb使用的公鑰(和訪問私有密鑰)的aaa,這可能是這種情況,如果其$HOME在某種程度上比aaa相同。

4

用於歷史提交條目的配置用戶名,但不用於ssh連接。如果您希望使用其他用戶名,而不是您登錄的用戶名,則必須修改相應的.git/config的原始URL。我想url = ssh://[email protected]/...可能會。如果你想要一個無密碼登錄,你必須設置一個sshkey讓aaa在服務器上登錄爲bbb,或者使用像gitolite或gitosis之類的東西。

相關問題