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/