【问题标题】:Why I don't get the error "fatal: The current branch A has no upstream branch."为什么我没有收到错误“致命:当前分支 A 没有上游分支”。
【发布时间】:2021-09-30 12:13:54
【问题描述】:

这就是为什么我会得到错误“致命:当前分支 A 没有上游分支。”

我使用命令 git push origin :A 删除了 REMOTE branch A。 然后我使用命令 git checkout A 切换到 LOCAL branch A。 添加,提交和推送后,我没有收到错误“致命:当前分支A没有上游分支。”

为什么我之前删除了远程分支A不存在,却没有出现这个错误?

【问题讨论】:

    标签: git git-remote


    【解决方案1】:

    即使您删除了远程分支,您的本地存储库仍然具有本地分支的配置以指向特定的远程分支。您可以通过查看文件.git/config 来检查此配置。您应该会看到如下条目,仅包含您的分支名称:

    [branch "master"]
        remote = origin
        merge = refs/heads/master
    

    【讨论】:

      【解决方案2】:

      因为您期望的错误与远程分支的存在与否无关。这与您的本地分支定义了“目的地”(“上游分支”)这一事实有关。

      删除远程分支时,不会从本地分支取消设置上游分支。

      您的本地分支可以定义一个尚不存在/不再存在的上游分支。

      【讨论】:

      • 还要注意git push origingit push 在(本地)分支A 上,其上游设置为origin/A,最终将要求origin 创建或更新那里有一个名为A 的分支。这通常会成功,现在origin/A应该存在于您自己的本地存储库中。
      猜你喜欢
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 2021-10-03
      • 2021-12-27
      • 2014-11-15
      • 2012-10-24
      • 2012-10-02
      相关资源
      最近更新 更多