Код Visual Studio, как разрешить конфликты слияния с git?

Я попытался объединить ветку с другой веткой, и возник конфликт слиянием. В Visual Studio Code (версия 1.2.1) я решил все проблемы, однако, когда я пытаюсь зафиксировать это, я даю мне это сообщение:

Прежде чем совершать изменения, сначала необходимо разрешить несвязанные изменения.

Я пробовал искать его, но я не могу понять, почему он не позволит мне совершить мои изменения, все конфликты исчезли.

Ответ 1

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

Ответ 2

С VSCode вы можете легко найти конфликты слияния со следующим пользовательским интерфейсом. enter image description here

(если у вас нет верхней панели, установите "editor.codeLens": true в User Preferences)

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

Если у вас несколько изменений и вы хотите применить их все сразу - откройте палитру команд (View → Palette команды) и начните вводить слияние - появятся несколько параметров, включая Merge Conflict: Accept Incoming и т.д.

Ответ 3

Сообщение об ошибке, которое вы получаете, является результатом Git, считая, что вы не разрешили конфликты слияния. На самом деле у вас уже есть, но вам нужно сообщить Git, что вы это сделали, добавив разрешенные файлы в индекс.

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

Ответ 4

Для тех, кому трудно найти "кнопки слияния".

Маленький значок лампочки с параметрами слияния появляется только в том случае, если вы точно нажмете на "маркер конфликта слияния"

<<<<<<<

Шаги (в VS Code 1.29.x):

Ответ 5

  1. Нажмите кнопку "Управление исходным кодом" слева.
  2. Смотрите MERGE CHANGES на боковой панели.
  3. Эти файлы имеют конфликты слияния.

VS Code > Source Control > Merge Changes (Example)

Ответ 6

Для VS Code 1.38 или если вы не можете найти кнопку "лампочка". Обратите особое внимание на серый текст над конфликтами; есть список действий, которые вы можете предпринять.

Ответ 7

  • (Возможно, обновите ваш визуальный код, затем вы увидите изменения, которые вы не зафиксировали, и просмотрите код, в котором вы увидите, как пользовательский интерфейс принимает или отменяет изменения, как указано в других ответах выше.) Все, что связано с конфликтом слияния, будет отображаться в разделе "слияние". метка в левом верхнем углу, и вам нужно выбрать между текущим изменением, которое является конкретной ветвью, с которой вы объединяетесь в данный момент, и "принять входящее изменение", которое является тем другим изменением ветки, которое вы хотели бы внести в ветку, где код будучи объединенным, "принять оба изменения", вы принесете "текущее изменение" + "входящее изменение". Обычно эти параметры отображаются в используемой вами IDE (визуальный код). Но, если вы просто получите пустую стрелку, показывающую отсутствие опции, это возможно, когда git запутывается, обнаруживая конфликт слияния, когда конфликт слияния не существует. В этом случае полностью избавьтесь от строки блока (==>), где бы она ни возникала. Это об этом.