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次提交,我是否需要推送我的主人?
非常感谢任何建议
答案 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.