使用git pull更新分支

时间:2011-01-30 16:09:21

标签: 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状态时,我得到:

 nothing to commit (working directory clean)

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

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

我不理解以下(fast-forwardable)(local out of date)

但是在视频的git状态下,它说它是最新的吗?

如果提前5次提交,我是否需要推送我的主人?

非常感谢任何建议

1 个答案:

答案 0 :(得分:14)

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

  • fast-forwardable表示您可以将本地更改推送到远程分支。
  • local out of date表示您的本地分支位于远程分支后面,您应该从中拉出来。

git status将您的本地工作目录与当前分支的当前提交(又名HEAD)进行比较。此外,它将您的本地分支与远程分支(origin/master)的(本地!)跟踪副本进行比较,因此Your branch is ahead of 'origin/master' by 5 commits.

要解决git status(仅显示本地数据)和git remote show origin(显示“实时”远程数据)之间的差异,您应该运行git remote update origin,这将更新您的本地跟踪分支。它会将您的本地origin/master更新为远程master的状态。之后git status会给你类似的东西 Your branch is behind 'origin/master' by X commits, and can be fast-forwarded.