在配置文件中,将分支设置为在远程存储库中具有上游
[branch "mybranch"]
remote = myremote
merge = refs/heads/mybranch
我们可以在第三个远程存储库中建立上游,以便当当前分支为mybranch
时,git push <remote>
在没有为分支指定refspec
的情况下工作吗?例如,以下工作有效吗?
[branch "mybranch"]
remote = myremote
merge = refs/heads/mybranch
[branch "mybranch"]
remote = yourremote
merge = refs/heads/mybranch
谢谢。
答案 0 :(得分:1)
例如,以下工作有效吗?
[branch "mybranch"] remote = myremote merge = refs/heads/mybranch [branch "mybranch"] remote = yourremote merge = refs/heads/mybranch
不。 Git配置文件 具有足够的灵活性来支持此功能,尽管不需要第二部分。也就是说,您可以这样写:
[branch "mybranch"]
remote = myremote
remote = yourremote
merge = refs/heads/mybranch
但是Git的只有一部分使用了多种设置。 1 特别是git push
命令决定您是否指定了一个遥控器,如果没有,请指定它。获取branch.branch.remote
的 last 设置(其中 branch
是当前分支)。然后,它决定您是否指定了refspec,如果没有,则使用push.default
设置来决定如何根据您的 branch
要求另一个Git更新其名称之一的当前提交。所以:
remote
自变量,则这两个远程设置无关; 这意味着除最后一个设置以外的所有设置都不相关。
(有多种使用三角形工作流程的方法,您可以从一个存储库中获取但推送到另一个存储库,但这不是一个。使用google search查找其中的一个。)
1 git fetch
命令是使用的命令,它使用多种设置:对于任何给定的遥控器,它都需要使用所有的fetch = ...
设置,当它执行默认值git fetch
时。那就是:
[remote "origin"]
fetch = +refs/heads/master:refs/remotes/origin/master
fetch = +refs/heads/develop:refs/remotes/origin/develop
生成一个存储库,其行为类似于单分支克隆,只是我们可以称之为两分支克隆。