Как разрешить конфликтующие изменения в среде разработки

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

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

Вы можете разрешить этот конфликт следующим образом:

  1. В окне с сообщением о конфликте нажмите Разработка, чтобы открыть ветку, для которой произошел конфликт, в среде разработки. Переключитесь на представление Система управления версиями.
  2. Нажмите на кнопку Синхронизация изменений, чтобы получить с сервера измененные данные проекта.

  3. В выпадающем меню раздела Коммит нажмите Объединить ветвь.

  4. Выберите ветвь проекта, которую хотите слить с текущей веткой.

  5. Введите сообщение коммита слияния.

  6. После этого в разделе Изменения слияния вы увидите файлы, содержащие конфликты. Они будут отмечены значком К (Конфликт).

    В самом файле конфликт слияния будет обозначен следующим образом:

    Среда разработки представляет информацию по каждому конфликту и дает возможность выбрать, какое изменение принять. Вы можете оставить текущее изменение; принять изменение, внесенное в ветвь, с которой происходит слияние; применить оба изменения или открыть изменения в отдельной вкладке для более детального сравнения.

  7. После разрешения всех конфликтов проиндексируйте сделанные изменения и нажмите кнопку Завершить слияние и отправить.

    Если вы не проиндексировали изменения, а сразу нажали кнопку Завершить слияние и отправить, появится всплывающее окно с просьбой добавить все измененные файлы в индекс коммита.

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

Отменить слияние

Вы можете отменить слияние, которое привело к возникновению конфликта, и вернуть текущую ветку к состоянию до выполнения операции слияния. Для этого выполните одно из следующих действий:
  • Кликните на стрелку рядом с кнопкой Завершить слияние и отправить и нажмите Отменить слияние.

  • Щелкните на имя текущей ветки в панели состояния и выберите команду Отменить слияние в открывшемся меню.