首页 > 解决方案 > 为什么在将本地分支推送到远程 git repo 后远程分支被跟踪但本地分支没有上游分支?

问题描述

在没有 --set-upstream 参数的情况下将本地分支推送到远程后,我发现远程分支被跟踪,但本地分支没有上游分支。track和upstream不是同一个意思吗?如果没有有什么区别?(git版本2.27.0.windows.1)

  1. 创建分支

    $ git 分支测试

  2. 将本地分支推送到远程

    $ git checkout 测试

    $ git push 起源测试

  3. 推送更改,但看起来根本没有上游。

    $ git推送

    致命:当前分支测试没有上游分支。要推送当前分支并将远程设置为上游,请使用 git push --set-upstream origin testing

  4. 但在远程源的细节中,远程分支测试被跟踪。 在此处输入图像描述

跟踪和上游有什么区别?我不了解当前状态:已跟踪远程分支,但本地分支没有上游。

标签: git

解决方案


您显示的命令是git remote show.

请在此处查看@torek 的解释:
“git remote show origin”:为什么所有分支都显示“已跟踪”,即使有些没有?

使用此命令,“跟踪”意味着分支将被下载到本地origin/*参考(注意:这在文档中没有明确说明,并且确实具有误导性)。

如果您想查看“哪个本地分支跟踪哪个远程分支”:

使用git branch -vv, 或检查你.git/config(git config -l | grep branchgit config --get-regexp '^branch\.')的内容


推荐阅读