Как сравнять локальный репозиторий Visual Studio 2017 с репозиторием Visual Studio Online Git?

Я создал Git-репозиторий Visual Studio Team Services.

В моей локальной Visual Studio 2017. Я отправил проект на это (первый коммит). Все в порядке.

Я создал локальную ветку для модификации проекта, на VSTS я тоже создал эту ветку.

После модификации кода я отправил код в отделение Origin/Heineken и выполнил запрос на извлечение онлайн.

Все в порядке, ветка Heineken переехала в master и после этого Heineken был удален в VSTS.

Теперь Visual Studio потерян, говоря мне, что Visual Studio Team Foundation git Branch 'Heineken' не найден в удаленном репозитории. Я не знаю, что делать, чтобы мой VS был приравнен к VSTS.

Какой-то совет?


person Jean J. Michel    schedule 16.07.2018    source источник


Ответы (2)


Причина, по которой VS показывает «Branch 'Heineken' was not found in the remote repository», заключается в том, что ветка Heineken была удалена в удаленном репо, но не удалена в локальном репо.

Шаги по выравниванию локального репо с репозиторием VSTS git, как показано ниже:

1. Удалить местный филиал Heineken

Во-первых, вы можете оформить заказ в другой ветке (например, оформить заказ в ветке master), затем удалить локальную ветку Heineken (щелкнуть правой кнопкой мыши локальную ветку Heineken в VS и удалить).

введите здесь описание изображения

2. Обновите удаленную ветку, чтобы удалить удаленную ветку репозитория VSTS git Heineken

Чтобы обрезать ветку Heineken, которая была удалена в удаленном репо, вы можете использовать любой из следующих вариантов.

  • Удалено командной строкой git:

    В локальном каталоге репозитория git вы можете выполнить команду:

    git fetch -p
    

    Таким образом, удаленная ветка Heineken будет перемещена из remotes/origin.

  • Сокращено в VS:

    В Team Explorer -> Настройки -> Глобальные настройки -> Установите для параметра Отрезать удаленные ветки во время выборки значение True -> обновить.

    введите здесь описание изображения

    Затем щелкните выборку (например, в Team Explorer -> синхронизация -> выборка), и удаленная ветка Heineken больше не будет отображаться под remotes/origin.

person Marina Liu    schedule 17.07.2018

Это обычная ловушка Git, см. Как остановить отслеживание удаленной ветки в Git? для получения полного ответа. Короткий ответ — открыть командную строку и ввести

git checkout Heineken
git branch --unset-upstream
person Giulio Vian    schedule 16.07.2018