如何让我的分支显示“你的分支是最新的 'origin/master'

How to have my branch display "Your branch is up to date with 'origin/master'

在我写一些我在 google 上发现的命令之前,git 控制台说

Your branch is up to date with 'origin/master'

当我输入 git status.

所以,在我输入 google 上找到的 (git push -u origin 01-MyfeatureProductListing) 之后,当我检查状态 (git 状态) 时,它现在说:

Your branch is up to date with 'origin/01-MyfeatureProductListing'.

如何恢复到原来的状态? (你的分支是最新的'origin/master'),每次当我输入“git status

使用 Visual Studio 2017.

git status 将显示您当前的本地分支是在与其关联的远程跟踪分支之前还是之后。

(使远程跟踪分支与远程分支同步 - 例如 origin - 分支使用 git fetch,它本身被 git pull 使用。)

因为您使用 -u(又名 --set-upstream)选项进行推送,所以创建了 origin/01-MyfeatureProductListing 的远程跟踪分支。

如果您想将本地工作分支 01-MyfeatureProductListingorigin/master 进行比较:

  1. git fetch 以确保您的本地存储库对远程存储库进行了任何更改。

  2. git diff "origin/master..HEAD" to compare your remote tracking branch formasterwith the latest commit on your current branch (almost always aliased toHEAD`).

没有直接的方法在您当前的本地分支和任意远程跟踪分支之间获得类似 git status 的显示。

将当前分支的上游分支设置回origin/master,
使用 git branch-u|--set-upstream-to 选项:

git branch -u origin/master

您传递给 git push-u 标志指示 git 将您的当前分支 link 转移到远程分支 origin/01-MyfeatureProductListinggit branch -u 允许您将其覆盖到您想要的任何远程分支。
您还可以使用 --unset-upstream 停止 git 将您的本地分支与远程分支进行比较。

您可以在本地克隆的 .git/config 文件中查看本地分支和远程分支之间的 link;如果你用任何文本编辑器(gedit、记事本、vscode ...)打开这个文件,你应该看到几个部分看起来像:

[branch "mybranch"]
    remote = origin
    merge = refs/heads/01-MyfeatureProductListing

以上表示本地分支mybranch设置为track origin/01-MyfeatureProductListing.
-u 选项仅更新此部分。


[edit] 显然git push-u 选项是完全可选的,如果您想在不设置或更新远程跟踪分支的情况下进行推送, 只需删除 -u 选项 ...