Git Push Origin 和 Git Push Origin Master 的区别
本文概述了 git push origin
和 git push origin master
命令之间的区别。 我们使用这些命令将更改推送到远程存储库。
区别在于如何以及何时使用它们,如下所述。 我们将介绍每个命令的作用、如何使用它以及何时使用这两个命令中的每一个。
git push origin master 命令
git push origin master
命令非常简单。 我们使用此命令将本地更改从 master 分支推送到远程 master 分支。
这是它的默认行为,无法更改。
就这些。 关于命令没有太多可说的。 让我们继续下一个命令。
git push origin 命令
git push origin
命令比前面的命令复杂。 在 Git v1.7.11 版本之前,使用 git push origin
命令将所有本地分支推送到对应的远程分支。
Git 版本 V2.0+ 要求我们将 push.default 配置为 matching 或 simple。 不设置时,Git默认为简单配置,只会将当前分支推送到对应的remote-tracking分支。
如果本地分支没有远程跟踪分支,该命令将失败。 让我们看一个例子。
假设我们在本地存储库中有一个功能分支并且它有一个远程跟踪分支,当我们在不设置 push.default 值的情况下调用 git push origin 命令时会发生什么?
$ git push origin
Git 会给你一个警告,如下图所示。
输出将是:
从上面的输出可以看出,Git 使用了简单的配置,它只是将我们的功能分支推送到远程存储库。
如果我们将 push.default
值设置为 matching 会发生什么? 让我们找出答案。
$ git config --global push.default matching
在运行 git push origin
命令时,我们将得到:
我们可以看到 Git 已经推送了两个分支到远程。 (即 master 和 feature 分支)
简而言之,git push origin master
只会将 master 分支推送到远程跟踪的 master 分支。 另一方面,git push origin
命令将推送当前的本地分支,前提是它有一个远程跟踪分支。
但是,可以通过将 push.default 值设置为 matching 来更改此命令的行为,以将所有本地分支推送到其相应的远程跟踪分支。