2012-06-12 4 views
3

У моего происхождения есть fixes и филиал fixes_v3. Мой клиент имеет только fixes. Я делаю git pull git+ssh:/.../mygitrepo, и вдруг на моем клиенте у меня есть код fixes_v3 в филиале fixes. Почему это произошло? Теперь я попробую git pull ... mygitrepo fixes, и он просто говорит мне, что это актуально.git pull from неправильная дистанционная ветка

git remote show origin дает это:

HEAD branch: fixes 
Local refs configured for 'git push': 
    fixes pushes to fixes (fast-forwardable) 
    master pushes to master (up to date) 
+0

Я не знаю ответа на ваш вопрос, возможно, плохой настрой, но у меня есть один совет. [Не 'git pull'] (http://longair.net/blog/2009/04/16/git-fetch-and-merge/). Используйте 'git fetch' и' git merge' в два этапа, чтобы вы могли видеть, с чем вы сливаетесь. – Shahbaz

ответ

2

Видимо ваши ветви отслеживания ложных перепятнышки. Сделайте git remote show origin, чтобы увидеть, какая ветка удаленной ветки fixes сливается. Вероятно, он скажет что-то вроде

fixes merges with remote fixes_v3 

Отрегулируйте это соответственно после отмены последнего слияния.

+0

Нет такой удачи - см. Мое редактирование. – djechlin

+0

@djechlin, ваше редактирование показывает конфигурацию для 'git push', а не' git pull' – Shahbaz

+0

@djechlin Это ваша проблема. Ваши репозитории не настроены для 'pull'. 'git pull repo' эквивалентно' git fetch && git merge FETCH_HEAD', где 'FETCH_HEAD' - это алфавитно первый ref. Урок здесь, вероятно, заключается в том, что вы не должны тянуть, не настраивая его. – pmr

1

Быстрое исправление?

Отменить все локальные коммиты. Например.

Выбрать отрасль для отмены

git branch fixes 

Удалить локальные коммиты

git reset --hard origin/fixes 

Source

Как тема ветви получить перепутано?

В моем случае, я сделал тянуть, не называя назначение:

git pull origin cifs_support 

Поскольку не было местный cifs_support отделения, коммиты из origin/cifs_support были добавлены master.

Вы в безопасности?

№ Проверьте свой конфиг, используя рекомендации, приведенные в принятом ответе: использовать git remote show origin, чтобы увидеть, какие ветви затронуты git pull и git push. Если отслеживание филиала неверно, исправьте его как можно скорее.