Git 中 Fatal: The Current Branch Master Has No Upstream Branch 错误

本文概述了我们可以用来解决 Fatal: The Current Branch Master Has No Upstream Branch 错误的不同方法。 当我们创建一个新的本地分支、进行一些提交并尝试推送到远程存储库时,我们通常会遇到此错误。

默认情况下,当我们在本地仓库中创建它们时,Git 并没有配置为在远程仓库中创建相应的分支。

让我们看看可以用来解决错误的三种方法。

修复 Fatal: The Current Branch Master Has No Upstream Branch 错误

为了简单的演练,我们将模拟一个我们得到致命的场景:通过在我们的本地存储库中创建一个新分支,进行一些提交并尝试推送,当前分支 master 在 Git 上没有上游分支错误。

$ git checkout -b Dev2.1

我们做了一些改变并承诺。 让我们尝试推送到远程存储库

$ git push

Git 中 Fatal: The Current Branch Master Has No Upstream Branch 错误

以下是我们可以用来解决此错误的三种方法。

第一种方法是 Git 建议的方法。 但是,我们强烈不建议使用它,我们很快就会看到,但首先让我们看看这个命令是如何工作的。

为了解决错误,我们将运行:

$ git push --set-upstream origin Dev2.1

Git 中 Fatal: The Current Branch Master Has No Upstream Branch 错误

该命令在我们的远程存储库中设置 Dev2.1 分支,它将跟踪本地分支。 但是,此方法可能会在您的存储库中导致意外和奇怪的后果。

让我们看看第二种方法。

您还可以使用:

$ git push -u origin Dev2.1

此命令将创建一个与本地分支同名的远程分支。 如果遇到错误,请将 all 标志添加到命令中,如下所示。

$ git push -u origin --all

我们更喜欢使用 -u 标志而不是 git push --set-upstream 命令。

以上方法解决了当前的问题。 如果我们想要永久解决方案怎么办?

幸运的是,Git 具有很强的可塑性; 我们可以调整 Git 配置文件以获得永久解决方案,这将我们带到第三种方法。

运行下面的命令来配置 Git 在我们创建本地分支时创建远程分支。

$ git config --global push.default current

我们现在可以单独使用 git push 命令,而无需再次处理这个烦人的错误。

综上所述,我们在创建本地分支时,没有配置Git创建对应的远程分支,就得到了 fatal:The current branch master has no upstream branch 错误。

我们已经介绍了可以用来解决此错误的各种方法。 你现在知道应该避免什么了。