主分支是"Already up-to-date",但它是"ahead of origin/master by 4 commits"?

Master branch is "Already up-to-date", and yet it is "ahead of origin/master by 4 commits"?

我知道如果我在本地 master 分支上提交了不在远程 master 分支中的提交,那么我可以获得 "Your branch is ahead of origin/master by X commits"。

但是,在我 git pull origin master 之后,我看到了消息 "Already up-to-date"。所以,我认为这意味着:none 我的提交是 ahead/behind master.

但是当我这样做时 git status 仍然 收到此消息 "Your branch is ahead of origin/master by X commits"。即使我 git pull -f origin master 仍然 收到此消息!!当我 "Already up-to-date" 时,这怎么可能?

我理解 this 之类的问题,但他们仍然没有告诉我为什么 "up-to-date" 意味着 "ahead"?

让我们用下图来说明:

假设这是远程主分支,

A---B---C origin/master

这是你本地的 master 分支,你在本地进行了 X 次提交,

A---B---C---D---E---…---N master

所以当你想将远程主分支(提交 A、B 和 C)拉到本地已经存在于本地提交中时,所以 git 将为你显示 already up-to-date message。这与 git 状态消息 Your branch is ahead of origin/master by X commits.

一致