我有一个本地仓库有两个不同的遥控器,每个遥控器需要一个不同的用户名/密码才能连接。当我推送到原点时,我永远不必输入我的用户名(这是我的大部分项目的起源),但是当推送到第二个遥控器时,它总是要求我输入用户名。有没有办法在设置中将用户名与给定的遥控器相关联?
以下是我的回购的配置:
[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/*
答案 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/Master
和second/Master
。显然,您可以为相应的回购添加任何其他配置选项,用户,密码等。