Конфликт слияния - появляются странные символы - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над проектом ASP.Net MVC5 и использую vimdiff в качестве моего mergetool.

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

Это состояние csproj на локальном, базовом и удаленном:

Branch statuses

И это очевидный конфликт слияния:

Extra characters at start of file

Что касается git, то теперь весь файл является конфликтом ...

<<<<<< HEAD
WHOLE CS PROJ FILE WITH CHARACTERS AT START
======
WHOLE CS PROJ FILE WITHOUT CHARACTERS AT START
>>>>>> develop

Это, очевидно, затрудняет выполнение правильного слияния.

Я не могу видеть эти символы ни в одной из ветвей, прежде чем попробую объединить.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Вы просто удаляете строки, которые не видите в своем источнике. git add файл (ы) и сделайте коммит, чтобы вы разрешили конфликт.

0 голосов
/ 12 сентября 2018

Это UTF-8 BOM , указывающая, что файл закодирован как UTF-8.Он распознается только в начале файла, и поскольку <<<<<< HEAD был вставлен перед ним, он больше не находится в начале файла и стал видимым инструментом, который не обнаруживает / больше не обнаруживаетфайл как UTF-8.

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

...