Вы попросили меня потянуть, не сказав мне, какую ветвь вы хотите слиться с

TL ; DR: У меня есть «отслеженная» ветвь, которую я не могу тянуть.

Итак, вот я в «Bucket-4»:

$ git branch -v
  bucket-1       410f7b5 * gh-53 * gh-48 * "Share App"
  bucket-2       7ed70a2 * upgrade to SOLR 3.3.0
  bucket-3       400ffe4 * emergency fix prod issue
* bucket-4       64c2414 Merge branch 'bucket-3' into bucket-4
  master         8dc4854 [ahead 1] * gh-73

Я хотел бы потянуть изменения с моего удаленного:

$ git pull

You asked me to pull without telling me which branch you
want to merge with, and 'branch.bucket-4.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 "bucket-4"]
    remote = <nickname>
    merge = <remote-ref>

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

See git-config(1) for details.

Хм, странно, я думал, что я уже добавил «Bucket-4» в качестве отслеживания Отказ Посмотрим:

$ git remote show origin
* remote origin
  Fetch URL: git@github.com:abcd/main.git
  Push  URL: git@github.com:abcd/main.git
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    bucket-3
    master
  Remote branches:
    bucket-1       tracked
    bucket-2       tracked
    bucket-3       tracked
    bucket-4       tracked
    master         tracked
  Local branches configured for 'git pull':
    bucket-1       merges with remote bucket-1
    bucket-2       merges with remote bucket-2
    bucket-3       merges with remote bucket-3
    master         merges with remote master
  Local refs configured for 'git push':
    bucket-1       pushes to bucket-1       (up to date)
    bucket-2       pushes to bucket-2       (up to date)
    bucket-3       pushes to bucket-3       (up to date)
    bucket-4       pushes to bucket-4       (local out of date)
    master         pushes to master         (fast-forwardable)

Действительно, Bucket-4 помечается как «отслеживаемое», но как-то настроен для нажатия, но не тянет.

Глядя на мой файл .git / config , я вижу, что у меня есть «удаленные» и «объединение» записей для большинства моих ветвей, но не для Bucket-4. Как это даже считается «отслеженным» без этого?

[remote "origin"]
    url = git@github.com:abcd/main.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "rel-2011-07-07"]
    remote = origin
    merge = refs/heads/rel-2011-07-07
[branch "bucket-1"]
    remote = origin
    merge = refs/heads/bucket-1
[branch "bucket-2"]
    remote = origin
    merge = refs/heads/bucket-2
[branch]
    autosetupmerge = true
[branch "bucket-3"]
    remote = origin
    merge = refs/heads/bucket-3

Я вижу, что вероятное решение здесь - добавить записей удаленного / слияния для Bucket-4 в моем файле конфигурации. Но как это считается «отслеженным» без этого? Bucket-4 был создан локально, затем выталкивал на сервер из этого репо, поэтому я подозреваю, что как-то не создал отслеживания для этой ветки.

Есть ли некоторая конфигурация, которую я могу добавить, чтобы все локальные ветви правильно отслеживали их пульты в будущем?

123
задан Habeeb Perwad 9 January 2013 в 09:12
поделиться