Как разрешить конфликтующие изменения в среде разработки
Слияние веток является неотъемлемой частью процесса разработки. Иногда во время слияния может случиться конфликт между текущей веткой и веткой, с которой выполняется слияние. Такое обычно происходит, когда двое или больше людей меняют одни и те же строки в модуле или один разработчик удаляет объект, с которым в это время работает другой разработчик. В этом случае система контроля версий не может определить, какое изменение является правильным, и помечает файл как конфликтующий. Вам необходимо разрешить все конфликты, чтобы продолжить процесс слияния.
Предположим, вы завершили работу над задачей и решили влить ее ветку в основную ветку проекта, но в процессе слияния получили сообщение о конфликте.
Вы можете разрешить этот конфликт следующим образом:
-
В окне с сообщением о конфликте нажм ите Разработка, чтобы открыть ветку, для которой произошел конфликт, в среде разработки. Переключитесь на представление Система управления версиями.
-
Нажмите на кнопку Синхронизация изменений, чтобы получить с сервера измененные данные проекта.
В выпадающем меню раздела Коммит нажмите Объединить ветвь.
-
Выберите ветвь проекта, которую хотите слить с текущей веткой.
-
Введите сообщение коммита слияния.
-
После этого в разделе Изменения слияния вы увидите файлы, содержащие конфликты. Они будут отмечены значком К (Конфликт).
В самом файле конфликт слияния будет обозначен следующим образом:
Среда разработки представляет информацию по каждому конфликту и дает возможность выбрать, какое изменение принять. Вы можете оставить текущее изменение; принять изменение, внесенное в ветвь, с которой происходит слияние; применить оба изменения или открыть изменения в отдельной вкладке для более детального сравнения.
-
После разрешения всех конфликтов проиндексируйте сделанные изменения и нажмите кнопку Завершить слияние и отправить.
Если вы не проиндексировали изменения, а сразу нажали кнопку Завершить слияние и отправить, появится всплывающее окно с просьбой добавить все измененные файлы в индекс коммита.
После успешного завершения операции слияния будет открыто диалоговое окно с предложением синхронизировать сделанные изменения. Нажмите ОК, чтобы выполнить синхронизацию с репозиторием проекта.
Отменить слияние
Вы можете отменить слияние, которое привело к возникновению конфликта, и вернуть текущую ветку к состоянию до выполнения операции слияния. Для этого выполните одно из следующих действий:
-
Кликните на стрелку рядом с кнопкой Завершить слияние и отправить и нажмите Отменить слияние.
-
Щелкните на имя текущей ветки в панели состояния и выберите команду Отменить слияние в открывшемся меню.