Поделиться через


Обновление вручную

При обновлении элементов в рабочей области или отмене фиксации всегда возникает вероятность сбоя одного или нескольких элементов. Рабочая область не может обновляться, если входящие обновления из ветви Git вызывают несоответствия или другие проблемы в рабочей области, которые трудно определить заранее. Если элемент не удается обновить, процесс обновления останавливается. Если элемент, который завершился сбоем, является первым (или единственным) элементом, который был обновлен, рабочая область остается синхронизированной с исходной ветвью. Если элемент завершается ошибкой после успешного обновления одного или нескольких элементов, у вас есть ситуация, когда некоторые элементы синхронизированы, а некоторые — нет. В этом случае рабочая область не синхронизируется с какой-либо ветвью Git.

Обновление может завершиться сбоем по многим причинам. Возможные причины включают, но не ограничиваются следующими проблемами:

  • Зависимые элементы были изменены или удалены
  • Были созданы циклические зависимости
  • Переименованный элемент
  • Недопустимые данные элемента

Примечание.

Это не то же самое, что и разрешение конфликтов. Если изменения были внесены в один и тот же элемент в рабочей области и ветви Git, это приводит к возникновению конфликта и отключению обновлений. В этой статье описывается, что делать с рабочей областью не удается обновить, даже если нет прямых конфликтов.

Сообщение об ошибке позволяет узнать, какой элемент завершился ошибкой и почему.

Снимок экрана: сообщение об ошибке при сбое обновления.

Это сообщение об ошибке появляется при сбое обновления. Любой пользователь, пытающийся получить доступ к рабочей области после этого, увидит следующую ошибку до успешного завершения обновления.

Снимок экрана: сообщение об ошибке, когда пользователь пытается подключиться к рабочей области после сбоя обновления.

Выберите "Просмотреть сведения", чтобы просмотреть предыдущее сообщение об ошибке.

Состояние Git после сбоя элемента

Теперь рабочая область содержит следующие элементы:

  • Элемент или элементы обновлены до сбоя. Эти элементы идентичны элементам в Git, но метаданные не обновляются. У них есть состояние Git для синхронизации, но с знаком предупреждения треугольника.
  • Элемент, который завершился сбоем. Этот элемент имеет требуемое состояние Git Update.
  • Возможно, элементы, которые еще не были обновлены при сбое элемента. Эти элементы еще не обновлены и имеют состояние Git для обновления.

Строка состояния в нижней части экрана, показывающая, что состояние последней синхронизации красное и указано частично синхронизированное состояние.

Снимок экрана: строка состояния в нижней части экрана при сбое обновления.

Обновление неудачного элемента

Чтобы обновить рабочую область вручную после автоматического обновления:

  1. Узнайте, какой элемент вызывает сбой обновления, и что проблема использует диалоговое окно ошибки, в котором говорится, какой элемент завершился сбоем и сообщение об ошибке.
  2. Исправлена проблема в Git. Это может означать выполнение одного или нескольких следующих действий в зависимости от того, что такое проблема:
    • Возврат элемента к более ранней версии, которая не завершается ошибкой
    • Изменение элемента для устранения проблемы
    • Восстановление зависимого элемента, который был удален
    • Удаление неподдерживаемого элемента, зависящее от удаленного элемента
  3. Вернитесь в рабочую область и снова обновите всю рабочую область.

Рекомендации и ограничения

Процесс обновления завершается сбоем, как только один элемент завершается ошибкой. Таким образом, нет способа узнать, являются ли другие элементы в ветви Git также проблематичными. При обновлении нескольких элементов и нескольких элементов проблематично, необходимо повторить этот процесс один раз для каждого элемента сбоем.

Разрешение конфликтов