设置git推送到另一个用户的Github仓库?

时间:2012-07-17 16:14:49

标签: git github

假设我是user1,我在http://github.com/user1有一个Github帐户。当然,我会在本地设置git:

origin git@github.com:user1/repo.git (fetch)
origin git@github.com:user1/repo.git (push)

如果我有获取&将权限推送到其他人的仓库(比如user2),其仓库位于http://github.com/user2/user2srepo.git

编辑: 对不起,大家都对他们的答案是正确的。我应该澄清一下,我曾经将它设置为origin http://github.com/user2/user2srepo.git,但我想避免每次推送都要求用户凭据。

3 个答案:

答案 0 :(得分:8)

假设您的github存储库都是相同的代码库,您可以将它们作为遥控器添加到本地存储库中:

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

然后在需要时使用该别名:

git fetch otherusersorigin
git push otherusersorigin

要在没有身份验证提示的情况下执行此操作,请根据标准GitHub说明为您自己设置SSH密钥,并让其他人将您添加为该仓库的协作者。

答案 1 :(得分:4)

事实证明它比我想象的容易。感谢@MattGibson和@eykanal在评论中的帮助,我意识到我可以按如下方式设置遥控器:

origin git@github.com:user2/user2srepo.git (fetch)
origin git@github.com:user2/user2srepo.git (push)

这里的区别在于用户设置为user2而不是我自己的用户名。我错误地认为我需要输入user2的凭据,但如果我在user2srepo设置为合作者,则情况并非如此。

对于那些感兴趣的人,如果您已经拥有远程集,则设置此命令的命令如下:

git remote set-url origin git@github.com:user2/user2srepo.git

答案 2 :(得分:1)

如果您对该repo具有写权限,只需克隆该存储库并直接提交给它。您无需经历分叉过程。