2

这可能是一个已经提出的问题,但我只是不知道该问题的正确名称是什么 - 所以请指导我或回答(是的,我已经看到了这个问题,但无法从答案中得到太多) .

我正在尝试git pull但收到以下消息:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.2012_05_09_my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:
    [branch "2012_05_09_my_branch"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

看起来我的工作目录有点“挂起”而没有附加到任何分支,对吗?如果是这样 - 请就如何将其连接回正确的分支提供建议(2012_05_09_my_branch例如)。可能我什至错了(作为一个完全的 GIT 新手),在这种情况下,请解释发生了什么以及我能做些什么。

提炼的问题:如果没有收到上述消息,我需要做什么才能成功git push运行?git pull

更新:当我跑步时,git branch我得到:

* 2012_05_09_my_branch
  master

可能意味着我在我的本地2012_05_09_my_branch分支上,它没有连接到任何远程分支?

更新 N2: 为什么我需要一直做 `--set-upstream`?- 作为补充材料非常值得一读(现在才发现)。

4

3 回答 3

2

并不是您的工作目录未附加到分支,而是您没有为本地分支设置远程上的对等分支。您可以将它们“连接”在一起:

git branch --set-upstream 2012_05_09_my_branch remotes/<your remote>/2012_05_09_my_branch

其中 <your remote > 是 .git/config 中定义的服务器服务器,通常(使用一台服务器时)是origin

编辑:更安全的方法是使用remotes/<remote>/<branch>而不是<remote>/<branch>

于 2012-06-03T19:37:06.247 回答
0

当您创建本地分支并希望将其放在远程存储库中时,您需要运行以下命令:

$ git push origin 2012_05_09_my_branch
于 2012-06-03T19:27:34.070 回答
0
git status

将帮助您了解您所在的分支机构(如果有)。命令

git branch

将列出您拥有的本地分支(git branch -a 也会列出远程分支)。当然你可以使用

git checkout <branchname>

将您的工作副本转到所选分支。

于 2012-06-03T15:20:57.077 回答