如何将不同的用户添加到具有多个遥控器的单个仓库中?

时间:2014-02-26 19:38:46

标签: git

我有一个本地仓库有两个不同的遥控器,每个遥控器需要一个不同的用户名/密码才能连接。当我推送到原点时,我永远不必输入我的用户名(这是我的大部分项目的起源),但是当推送到第二个遥控器时,它总是要求我输入用户名。有没有办法在设置中将用户名与给定的遥控器相关联?

以下是我的回购的配置:


[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
        hideDotFiles = dotGitOnly
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@codebasehq.com:namehere/project/repo-name.git
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "develop"]
        remote = origin
        merge = refs/heads/develop
[remote "second"]
        url = https://github.com/project/second-repo-name.git
        fetch = +refs/heads/*:refs/remotes/second/*

1 个答案:

答案 0 :(得分:1)

我一直在使用Linus Torvalds在git mailing list发布的解决方案,该解决方案非常有效,可以轻松应用于您的情况。

您可以为“origin”和“second”repos添加合并的遥控器:

[remote "merged"]
        url = git@codebasehq.com:namehere/project/repo-name.git
        url = https://username:password@github.com/project/second-repo-name.git

然后你可以执行git push merged/Master,它会推送到origin/Mastersecond/Master。显然,您可以为相应的回购添加任何其他配置选项,用户,密码等。