git pull后为啥分支没有更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git pull后为啥分支没有更新相关的知识,希望对你有一定的参考价值。

git 库有5个分支,服务器有更新,执行git pull 后,显示master 分支上“Already up-to-date”。
因为我在本地不是在master分支上,执行git checkout master,切换到matser 提示
“Your branch is behind 'origin/master' by 2 commits”。再执行git pull才会更新master分支。
请问为什么要执行两次git pull。头一次git pull 不是已经拉取了更新吗?为什么切换后还要git pull。

git pull 不加参数的话 只是针对当前分支与远程库进行同步更新, 想想看如果5个分支都有更新且merge会有冲突的话,如果一个git pull 直接全部都merge 出来冲突了 那是多么的可怕啊 参考技术A 因为专业的机子是不会的,你肯以使用360老帮你解决所有问题.

Git:当我还没有提取更新时,为啥 git 会说“您的分支与 origin/main 是最新的”?

【中文标题】Git:当我还没有提取更新时,为啥 git 会说“您的分支与 origin/main 是最新的”?【英文标题】:Git: Why does git say "your branch is up to date with origin/main" when there are updates I haven't pulled yet?Git:当我还没有提取更新时,为什么 git 会说“您的分支与 origin/main 是最新的”? 【发布时间】:2022-01-07 13:03:20 【问题描述】:

我在本地分支,并切换回main。它说Your branch is up to date with origin/main,但是当我这样做git pull 时,它确实拉出了一堆新的更新。这是否意味着我的分支不是origin/main 保持同步?

【问题讨论】:

如果你避开git pull,你会更好地了解正在发生的事情。运行一次git fetch然后根据需要运行git statusgit log然后考虑合并或变基。 这可能有助于它在您的脑海中“点击”的一个关键是您origin/main保持同步,因为origin/main是一个名称在您的 Git 存储库中。运行 git fetch 会使您的 Git 访问其他 Git 存储库并从中获取更新,从而更新您的 origin/main 【参考方案1】:

您的本地 Git 不知道远程服务器的状态除非您先获取。获取后,您可以检查分支的状态,它会告诉您,您落后了或分支已分叉。

Git 中几乎所有命令都在本地运行,只有少数需要 Internet 访问,例如 push、fetch、ls-remote

【讨论】:

以上是关于git pull后为啥分支没有更新的主要内容,如果未能解决你的问题,请参考以下文章

“git pull --all”可以更新我所有的本地分支吗?

git pull命令的用法

GIT入门笔记(20)- 使用eclipse 基于 git 开发过程梳理

Git:当我还没有提取更新时,为啥 git 会说“您的分支与 origin/main 是最新的”?

git 怎么 pull一个远段分支下来

第27月第24天 git pull fetch