git - 使用 git pull 更新分支

标签 git

git version 1.7.3.5

我有以下分支:

git branch
  image
  master
* video

我在办公室做了一些工作。当我回到家时,我总是在家里的笔记本上更新。

但是,当我执行 git remote show origin 时,我得到以下信息:

  Local refs configured for 'git push':
    image   pushes to image  (up to date)
    master  pushes to master (fast-forwardable)
    video   pushes to video  (local out of date)

所以我对所有这些分支做了一个 git pull:

git pull origin image
git pull origin master
git pull origin video

当我在视频和图像分支上执行 git status 时,我得到:

 nothing to commit (working directory clean)

当我在 master 分支上执行 git status 时,我得到:

Your branch is ahead of 'origin/master' by 5 commits.

下面的(fast-forwardable)(local out of date)哪个我不明白?

但是在视频的 git status 中它说它是最新的?

如果它领先 5 次提交,我是否需要 push 我的主人?

非常感谢任何建议

最佳答案

git remote show origin 将本地存储库与远程存储库进行比较:

  • fast-forwardable 意味着您可以将本地更改推送到远程分支。
  • local out of date 表示您的本地分支位于远程分支之后,您应该从中 pull 。

git status 将您的本地工作目录与当前分支的当前提交(又名 HEAD)进行比较。此外,它将您的本地分支与远程分支 (origin/master) 的(本地!)跟踪副本进行比较,因此 您的分支比“origin/master”领先 5 次提交。

要解决 git status(仅显示本地数据)和 git remote show origin(显示“实时”远程数据)之间的差异,您应该运行 git remote update origin 这将更新您的本地跟踪分支。它会将您的本地 origin/master 更新为远程 master 的状态。之后 git status 应该给你类似的东西 你的分支在 'origin/master' 后面有 X 次提交,可以快进。

关于git - 使用 git pull 更新分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843881/

相关文章:

git - git 的标签和分支有什么区别?

node.js - electro-forge : Missing dependencies = git and node, 但我可以选择哪个 git ?

git - 移动git项目导致许多Blob和树错误

git - 如何让 Composer 使用精确的 SHA1 值?

windows - 无法推送到github : repository not found

git - 从任何分支都无法访问的标记引用提交是否会丢失?

git - 撤消 "git filter-branch ... -- --all"?在一个命令中?

node.js - 找不到所需的文件 index.html - Heroku 推送错误

git - 检索 Git 中特定提交中的文件路径

git - cocoapods 安装过程中引用不是树 : f0a7. ..3e8c