git如何将其他分支推送到远程/来源?

nfp*_*zyf 16 git

我的.git/config:

[remote "origin"]
    url = git@github.com:nfpyfzyf/test.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

我当地的分店:

                     HEAD
                     |
                 F---G  feature**current branch
                /
       C---D---E develop
      /          
 A---B  master
Run Code Online (Sandbox Code Playgroud)

我现在在功能分支,并希望推送到远程.目前的命令是什么,是git push origin feature吗?如果我这样做git push会怎么样?

Gre*_*con 28

要推送特定分支,请运行git push <remote> <branch>.在您的情况下,您唯一定义的遥控器是origin,并且您想要推动您的feature分支,这样做

$ git push origin feature

文档"示例"部分git push描述了git push在没有其他参数的情况下运行会发生什么.

git push

类似于git push <remote>,当前分支的远程位置(或者origin,如果没有为当前分支配置远程).

鉴于您的问题中的配置,您的feature分支没有配置远程,因此上面的调用等同于下一个示例.

git push origin

没有额外的配置,像git push origin :...

在菊花链之后,我们看到这相当于

git push origin :

将"匹配"分支推送到原点.有关"匹配"分支的说明,请参阅上面的" 选项"部分.

匹配分支的规则是

特殊refspec :(或+:允许非快进更新)指示git推送"匹配"分支:对于本地端存在的每个分支,如果远程端已存在同名分支,则更新远程端.如果没有找到显式的refspec(这既不在命令行上也不在相应的远程文件的任何Push行中 - 见下文),这是默认的操作模式,并且没有push.default设置配置变量.

在你的情况下,唯一匹配的分支是master,所以git push将推动该分支并退出.