当我执行git commit all时,我会推送到两个远程存储库
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@bitbucket.org:kkk_pro/tst1.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "all"]
url = git@bitbucket.org:kkk_pro/tst2.git
fetch = +refs/heads/*:refs/remotes/all/*
pushurl = git@bitbucket.org:kkk_pro/tst1.git
pushurl = git@bitbucket.org:kkk_pro/tst2.git但是当我输入git push时,git只能推送到tst1吗?为什么?如何要求git使用all作为默认遥控器?
发布于 2018-10-27 02:03:22
origin是默认的遥控器,只需将它移到那里即可。
从文档中:
当命令行没有使用参数指定推送到哪里时,将参考当前分支的branch.*.remote配置来确定推送到哪里。如果缺少配置,则默认为原始配置。
发布于 2018-10-27 04:14:48
,但当我输入git push时,git仅推送到tst1
git如何决定将代码推送到哪里?
在Git version 2之前,每次在没有指定远程的情况下执行git push时,所有本地分支都会被推送到远程。
从git v2开始,无论何时推送,您都需要指定源和远程。
无论何时输入git push而不使用remote & branch,git都会将分支推送到默认的上游分支。
您可以使用以下命令在遥控器上设置推送的默认分支:
git push --set-upstream <origin> <branch>

在您的配置中:
[branch "master"]
remote = origin您可以看到,您的主机被设置为被推送到tst1为origin的位置
如何添加多个推流urls?
git remote set-url --add --push <origin_name> git@github.com:.../a.git
git remote set-url --add --push <origin_name> git@github.com:.../b.git如何查看配置?
git remote show origin

https://stackoverflow.com/questions/53014061
复制相似问题