为什么在检查 git 存储库的状态时,我的命令行给出的信息与 visual studio 不同?

Why is my command line giving different info then visual studio when checking status of git repo?

我正在测试编写一个脚本来下载最新版本的 master,然后根据更新的 master 合并或重新设置我的本地分支。

在尝试这样做时,我 运行 遇到了一个问题,其中 visual studio 看到有一个提交,我需要下拉以获取最新信息,但命令行指出我现在。

我附上了一个屏幕截图,显示了 Visual Studio 中显示的传入提交,但显示的 cli 是最新的。

如果 git status 在远程 (origin/master) 中显示没有变化,但 Visual Studio 确实显示要拉取的变化,可能是 Git 没有更新了它的远程跟踪分支。只有命令 git fetchgit pullgit remote update 通常实际访问远程服务器以更新其状态。这是 Git 如此快速的部分原因 -- 它通常从本地存储库工作。

运行 git remote update 更新远程跟踪分支。然后 git status 将准确显示要拉取的更改。

示例:

$ git status
On branch develop
Your branch is up to date with 'origin/develop'.

nothing to commit, working tree clean
✔ ~/myrepo [develop|✔] 
$ git remote update
Fetching origin
✔ ~/myrepo [develop ↓·1|✔] 
$ git status
On branch develop
Your branch is behind 'origin/develop' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

nothing to commit, working tree clean
✔ ~/myrepo [develop ↓·1|✔] 
$