邮件是否有点误导?
当结帐分支(例如,b535
)时,git会执行此操作并说"您的分支机构与&origin / b535'最新。 " 这听起来像我在本地分支b535
中的内容是最新的。
$ git checkout b535
Previous HEAD position was 8aa0145... master - resyns
Switched to branch 'b535'
Your branch is up-to-date with 'origin/b535'.
但实际上它不是。在执行git pull
时,它从远程发现更新并更新本地分支。
$ git pull origin b535
remote: Counting objects: 39, done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 39 (delta 31), reused 0 (delta 0)
Unpacking objects: 100% (39/39), done.
...
答案 0 :(得分:10)
好吧,你的分支是最新的已知原点/ b535位置。如果您希望git status
无需git pull
即可为您提供更准确的信息,请改为git fetch
。这将更新origin / b535,而无需更改本地b535。
答案 1 :(得分:3)
这是因为Git只能知道它下载了什么。您origin/b535
的本地副本可能与您的origin
遥控器保持同步,也可能不是最新的。
您需要手动git fetch
以确保您的原始分支与您的Git服务器同步... Git不会使用status
命令自动为您执行此操作。
对于最新的状态命令,您可以定义如下别名:
[alias]
rstatus = "!git fetch && git status"