Разрешение конфликтов слияния в Visual Studio
При слиянии одной ветви в другую изменения файлов из фиксаций в одной ветви могут конфликтуться с изменениями в другой. Git пытается устранить эти изменения с помощью журнала в репозитории, чтобы определить, как должны выглядеть объединенные файлы. Если не ясно, как объединить изменения, Git останавливает слияние и сообщает, какие файлы конфликтуют.
Предотвращение конфликт слияния
Git хорошо автоматически объединять изменения файлов в большинстве случаев, если содержимое файла не изменяется резко между фиксациями. Если ваша ветвь находится далеко за главной ветвью, рассмотрите возможность повторной сортировки ветвей перед открытием запроса на вытягивание. Перебазированные ветви будут объединяться в основную ветвь без конфликтов.
Устранение конфликтов слияния
Если вы работаете с другими пользователями в той же ветви, вы можете увидеть конфликт слияния при отправке изменений.
Visual Studio обнаруживает, находится ли локальная ветвь, с которым вы работали, находится за ее ветвью удаленного отслеживания, а затем предоставляет варианты выбора.
Примечание.
Если удаленный репозиторий поддерживает принудительное принудительное отправка, его можно включить с помощью Git> Параметры.
В этом примере нажмите кнопку "Отправить", чтобы включить изменения, введенные в удаленный репозиторий. Если при извлечении изменений или попытке объединения двух ветвей есть какие-либо конфликт слияния, Visual Studio позволяет узнать в окне изменений Git, в окне репозитория Git и в любых файлах, которые имеют конфликты.
В окне изменений Git отображается список файлов с конфликтами в разделе "Отмена изменений". Чтобы начать разрешение конфликтов, дважды щелкните файл. Или если у вас есть файл с конфликтами, открытыми в редакторе, можно выбрать редактор "Открыть слияние".
В редакторе слияния начните разрешать конфликт с помощью любого из следующих методов (как показано на нумерованном снимке экрана):
Перейдите по строкам конфликтов и выберите между сохранением правой или левой стороны, выбрав проверка boxes.
- или -
Нажмите кнопку "Принять входящие " (или нажмите клавишу F10), чтобы принять все входящие изменения, или кнопку "Принять текущий " (или нажмите клавишу F11), чтобы сохранить текущую версию всех конфликтующих изменений. Вы можете сделать то же самое, выбрав один из проверка boxs в верхней части боковой рамки.
- или -
Вручную измените код в окне результатов .
Когда вы закончите разрешение конфликт слияния, нажмите кнопку "Принять слияние". Повторите этот процесс для всех конфликтующих файлов.
Используйте окно изменений Git, чтобы создать фиксацию слияния и устранить конфликт.
Примечание.
Если вы хотите сохранить все изменения в файле, щелкните его правой кнопкой мыши в разделе "Отменяемые изменения " и выберите "Сохранить текущий ( локальный) без необходимости открыть редактор слияния.
Совет
Дополнительные сведения о параметрах специальных возможностей, доступных для вас, см. в разделе сочетаний клавиш Git на странице "Специальные возможности" и "Рекомендации".
Настройка средства диффа
Если вы настроите .gitconfig
файл на использование стороннего средства диффа, например BeyondCompare или KDiff3, Visual Studio уважает его. Каждый раз, когда Visual Studio обычно будет отображать дифф, отдельное окно открывается в выбранном инструменте. Пример см. в этом вопросе StackOverflow .