Git pull没有拉下最近的提交

时间:2013-02-14 11:15:29

标签: git bitbucket

我在BitBucket上有一个Git回购。我有两个分支masterdb。在我的笔记本电脑上,我对db进行了更改,提交了更改并推送到了BitBucket。我可以看到该分支中的提交。

现在我在桌面上工作,我在分支机构主人身上做了git pull。它已经下拉了master的提交但没有db,我想这可能是应该工作的方式。我想获取db上的最新提交,所以我切换到该分支并执行git pull但是我得到以下消息:

  

你让我拉而不告诉我你要合并哪个分支   与...

我不确定为什么会这样。我在这台机器上创建了那个分支,所以它不应该只是将提交下拉到那个分支吗?

远离git branch -vva

$ git branch -vva
  analytics             cea39b9 updated analytics code
* db                    6091b29 minor change to the tag creation code
  master                0a4070c [origin/master] Merge branch 'master' of https:/
/bitbucket.org/billyjones/findr.fm
  remotes/origin/db     faf9970 Got tracks working. Now trying to cache prices.
  remotes/origin/master 0a4070c Merge branch 'master' of https://bitbucket.org/b
illyjones/findr.fm

这是我需要提取的faf9970提交

1 个答案:

答案 0 :(得分:4)

如果您的桌面还没有本地db分支,则首先必须创建它:

git branch db origin/db

可能需要在此之前执行git fetch -a

如果本地db分支已存在,请确保它跟踪相应的远程分支。

您可以通过git remote show origin验证。在“为git pull'配置的本地分支标题下:”它应该显示“db与远程数据库合并”。如果不是这种情况,请执行此命令,如果您使用的是git 1.8:

git branch -u origin/db db

如果您使用的是旧版本的git,请使用以下命令:

git branch --set-upstream db origin/db