2012-07-17 74 views
3

假設我是user1,我有一個Github帳號http://github.com/user1。當然,我會成立混帳本地像這樣:設置git推送到其他用戶的Github回購?

origin [email protected]:user1/repo.git (fetch) 
origin [email protected]:user1/repo.git (push) 

我會做什麼,如果我有取&推權限別人的回購(比方說user2),其回購位於http://github.com/user2/user2srepo.git?編輯: 對不起,每個人都對他們的答案是正確的。我應該澄清,我曾經設置爲origin http://github.com/user2/user2srepo.git,但我希望避免每次推送時都要求提供用戶憑據。

+0

可能重複http://stackoverflow.com/questions/4454839/github-collaboration-using-the-shared-repository-model) – eykanal 2012-07-17 16:19:36

回答

8

假設你的GitHub的回購都在相同的代碼,你可以遙控他們都添加到您的本地回購:

git remote add otherusersorigin http://github.com/user2/user2srepo.git 

然後使用別名,只要你需要它:

git fetch otherusersorigin 
git push otherusersorigin 

要在沒有驗證提示的情況下執行此操作,請根據標準GitHub說明爲自己設置SSH密鑰,並讓其他人將您添加爲該回購協議的協作者。

+0

這就是我之前的工作,它工作的很好 - 我應該在我原來的問題中澄清我想以某種方式設置它每次我推送我都不會被要求提供用戶憑證。 – Nick 2012-07-17 16:22:19

+1

啊。在這種情況下,請根據標準GitHub說明爲您的自己設置SSH密鑰,並讓其他人將您添加爲該回購協議的協作者。 – 2012-07-17 16:23:30

1

如果您有對該回購的寫入權限,只需克隆該存儲庫並直接提交。你不需要經過分叉過程。

+0

這是爲了工作,它不允許克隆到我自己的帳戶。 – Nick 2012-07-17 16:22:47

+1

你誤會了;在你的本地機器上,你應該從'user2'的賬號克隆倉庫。你不應該分叉它,就像它自己一樣克隆它。 – eykanal 2012-07-17 16:24:11

+0

我不是分手,但你說得對。 – Nick 2012-07-17 16:27:34

3

原來,這比我想象的要容易。由於@MattGibson的幫助和@eykanal在評論中,我意識到,我可以只設置遠程如下:

origin [email protected]:user2/user2srepo.git (fetch) 
origin [email protected]:user2/user2srepo.git (push) 

的區別就在這裏是用戶是設置爲user2,而不是我自己的用戶名。我錯誤地認爲我需要輸入user2的憑證,但如果我已被設置爲user2srepo的合作者,情況並非如此。

對於那些有興趣,設置此如果已經在遠程集合中的命令如下:

git remote set-url origin [email protected]:user2/user2srepo.git 
[GitHub的協作使用共享的存儲庫模型(的