4

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

现在我在我的桌面上工作,我git pull在分支大师上做了一段时间。它拉下了 master 的提交,但没有拉下 db,我想这可能是它应该工作的方式。我想在 db 上获得最新的提交,所以我切换到该分支,git pull但是我收到以下消息:

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

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

从 git 分支输出 -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 提交

4

1 回答 1

4

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

git branch db origin/db

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

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

您可以通过git remote show origin. 在“为'git pull'配置的本地分支:”标题下,它应该显示“db merges with remote db”。如果您使用的是 git 1.8,请执行以下命令:

git branch -u origin/db db

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

git branch --set-upstream db origin/db
于 2013-02-14T11:19:08.600 回答