如果我在分支“ Foo2”中并且执行“ git push origin Foo”,会发生什么?

时间:2019-05-01 14:45:23

标签: git

我有一个分支-我们称它为“ Foo”-然后我从Foo分支创建了Foo2,Foo现在是一个传统分支-我目前的工作集中在Foo2。

现在,我担心我可能会忘记正在开发Foo2,所以我可能会做git push origin Foo(特别是由于bash的制表符完成行为)。我担心这可能会以某种方式将更改从Foo2推到Foo。

那么,实际上会发生什么?

1 个答案:

答案 0 :(得分:2)

让我们检查the documentation for git push。该命令的一般形式为git push <repository> <src>:<dst>,我们想弄清楚省略:<dst>时会发生什么。

  

如果将没有任何git push [<repository>]参数的<refspec>设置为使用<src>配置变量通过remote.<repository>.push更新目标处的某些引用,则可以省略:<dst>部分-这样的推送将更新通常在命令行上没有任何<src>的引用<refspec>的引用。否则,缺少:<dst>意味着要更新与<src>相同的引用。

(我保证,我没有从git man page generator复制它。)

因此,无论做什么,都会涉及到您提供的确切<src>,这意味着只要您不在运行Foo的本地git push origin Foo分支中创建更多提交,将找不到要推送的任何内容,并且远程Foo分支将保持不变。