2014-10-16 2 views
2

Когда слияние git с конфликтом конфликтует, файл с конфликтом будет содержать маркеры, такие как ======= и <<<<<<<. Но что происходит, когда исходный контент файла содержит эту строку? Например, уценки файл может также содержать линию ======= для достижения эффектаЧто происходит, когда файл конфликта git merge содержит строку «=======»


результат будет неоднозначным. Строка ======= может отмечать разделение конфликтных областей или может быть только частью содержимого файла. Как git обрабатывает такие особые случаи?


Edit:

ОК, я проверить это сам. git не делает ничего особенного в таком случае; он просто оставляет файл в неоднозначном состоянии. Какова философия дизайна? Что ситуация слишком редка, чтобы стоить каких-либо манипуляций?

+0

Кажется, это простой тест, чтобы испытать себя! –

+0

Никогда не приписывайте хорошо продуманной философии дизайна, что можно адекватно объяснить быстрым взломом. –

ответ

0

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

0

Git не знает, не понимает и не заботится о ЛЮБОЙ информации о фактическом содержании ваших файлов.

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

Смежные вопросы