Почему Git создает "пустые" конфликты?

Зачем Git создавать конфликт, который выглядит так:

<<<<<<< mouseLabelCallbacks
const QMap<Qt::MouseButton, QString> TLabel::mMouseButtons = {
        {Qt::NoButton, QStringLiteral("NoButton")},           {Qt::LeftButton, QStringLiteral("LeftButton")},       {Qt::RightButton,     QStringLiteral("RightButton")},
        {Qt::MidButton, QStringLiteral("MidButton")},         {Qt::BackButton, QStringLiteral("BackButton")},       {Qt::ForwardButton,     QStringLiteral("ForwardButton")},
        {Qt::TaskButton, QStringLiteral("TaskButton")},       {Qt::ExtraButton4, QStringLiteral("ExtraButton4")},   {Qt::ExtraButton5,     QStringLiteral("ExtraButton5")},
        {Qt::ExtraButton6, QStringLiteral("ExtraButton6")},   {Qt::ExtraButton7, QStringLiteral("ExtraButton7")},   {Qt::ExtraButton8,     QStringLiteral("ExtraButton8")},
        {Qt::ExtraButton9, QStringLiteral("ExtraButton9")},   {Qt::ExtraButton10, QStringLiteral("ExtraButton10")}, {Qt::ExtraButton11,     QStringLiteral("ExtraButton11")},
        {Qt::ExtraButton12, QStringLiteral("ExtraButton12")}, {Qt::ExtraButton13, QStringLiteral("ExtraButton13")}, {Qt::ExtraButton14,     QStringLiteral("ExtraButton14")},
        {Qt::ExtraButton15, QStringLiteral("ExtraButton15")}, {Qt::ExtraButton16, QStringLiteral("ExtraButton16")}, {Qt::ExtraButton17,     QStringLiteral("ExtraButton17")},
        {Qt::ExtraButton18, QStringLiteral("ExtraButton18")}, {Qt::ExtraButton19, QStringLiteral("ExtraButton19")}, {Qt::ExtraButton20,     QStringLiteral("ExtraButton20")},
        {Qt::ExtraButton21, QStringLiteral("ExtraButton21")}, {Qt::ExtraButton22, QStringLiteral("ExtraButton22")}, {Qt::ExtraButton23,     QStringLiteral("ExtraButton23")},
        {Qt::ExtraButton24, QStringLiteral("ExtraButton24")},

};


=======
>>>>>>> development

Как это в конфликте, когда нет ничего между === а также >>>?

2 ответа

Предполагая, что у вас все еще есть конфликт, чтобы слиться, и вы хотите увидеть, что происходит, сделайте следующее:

git config merge.conflictStyle diff3
git checkout -m path/to/conflicted/file.ext

(или просто:

git checkout -m --conflict=diff3 path/to/conflicted/file.ext

- первый устанавливает все будущие конфликты, чтобы быть в diff3 формат).

Сравните то, что в нем сейчас, с тем, что было в нем раньше. Обратите внимание на наличие ||||||| раздел:

<<<<<<< mouseLabelCallbacks
const QMap<Qt::MouseButton, QString> TLabel::mMouseButtons = {
        {Qt::NoButton, QStringLiteral("NoButton")},           {Qt::LeftButton, QStringLiteral("LeftButton")},       {Qt::RightButton,     QStringLiteral("RightButton")},
        {Qt::MidButton, QStringLiteral("MidButton")},         {Qt::BackButton, QStringLiteral("BackButton")},       {Qt::ForwardButton,     QStringLiteral("ForwardButton")},
        {Qt::TaskButton, QStringLiteral("TaskButton")},       {Qt::ExtraButton4, QStringLiteral("ExtraButton4")},   {Qt::ExtraButton5,     QStringLiteral("ExtraButton5")},
        {Qt::ExtraButton6, QStringLiteral("ExtraButton6")},   {Qt::ExtraButton7, QStringLiteral("ExtraButton7")},   {Qt::ExtraButton8,     QStringLiteral("ExtraButton8")},
        {Qt::ExtraButton9, QStringLiteral("ExtraButton9")},   {Qt::ExtraButton10, QStringLiteral("ExtraButton10")}, {Qt::ExtraButton11,     QStringLiteral("ExtraButton11")},
        {Qt::ExtraButton12, QStringLiteral("ExtraButton12")}, {Qt::ExtraButton13, QStringLiteral("ExtraButton13")}, {Qt::ExtraButton14,     QStringLiteral("ExtraButton14")},
        {Qt::ExtraButton15, QStringLiteral("ExtraButton15")}, {Qt::ExtraButton16, QStringLiteral("ExtraButton16")}, {Qt::ExtraButton17,     QStringLiteral("ExtraButton17")},
        {Qt::ExtraButton18, QStringLiteral("ExtraButton18")}, {Qt::ExtraButton19, QStringLiteral("ExtraButton19")}, {Qt::ExtraButton20,     QStringLiteral("ExtraButton20")},
        {Qt::ExtraButton21, QStringLiteral("ExtraButton21")}, {Qt::ExtraButton22, QStringLiteral("ExtraButton22")}, {Qt::ExtraButton23,     QStringLiteral("ExtraButton23")},
        {Qt::ExtraButton24, QStringLiteral("ExtraButton24")},

};

||||||| merged common ancestors
(something appears here, but I cannot guess what)
=======
>>>>>>> development

Это говорит вам, что в >>>>>>> development, действие было удалить оригинальное "что-то", в то время как в <<<<<<< mouseLabelCallbacks, действие должно было заменить исходное "что-то" новым разделом кода.

Вы должны выбрать, какое из этих разрешений является правильным: только для удаления или для удаления и замены. Обычно это последнее, но иногда это первое или даже третье.

Вы / кто-то еще можете отредактировать и зафиксировать файл в другом редакторе с разными file encoding, Это могло вызвать проблему.

Попробуйте выяснить формат кодировки файла и изменить его на правильный формат. Там могут быть инструменты (может быть Notepad++, открыть файл с помощью Notepad++, чтобы увидеть кодировку). Тогда вы можете видеть буквы, о которых говорит git.

Другие вопросы по тегам