1

Я хочу использовать vim (возможно, беглеца), чтобы объединить мои конфликты, но я ненавижу маркеры автоматически возникающих конфликтов. Я ищу что-то вроде

|-------------------------------|
|         |          |          |
| LOCAL   | HEAD     |   REMOTE |
|         |          |          |
|-------------------------------|
|                               |
|    clean head to merge        |
|       changes into            |
|-------------------------------|

Как мне это настроить?

2 ответа2

1

Чтобы всегда отключать маркеры конфликта, вы можете настроить алгоритм двоичного слияния (источник):

$ git config merge.default binary

Кроме того, индекс имеет все разные версии; просто замените свою рабочую копию тем, что вы хотите:

$ git checkout --ours <filename>
$ git checkout --theirs <filename>
$ git checkout-index -f --stage=1 <filename>    # for the base

(С помощью Fugitive вы можете сделать это прямо из Vim.)

0

Я использую Беглеца. Удивительный vim, используемый для разрешения конфликтов слияния с vimdiff + Fugitive, - это то, чем я пользуюсь неоднократно каждый раз, когда забываю, как это сделать.

  1. Вы открываете конфликтующий файл и :Gvdiff (это дает вам вертикальное разделение, как вы хотите)
  2. Вы используете :diffput (или просто dp) для отправки кода из локальных / удаленных окон в HEAD
  3. Как только вы довольны изменениями, введите :Gwrite и он закроет окно diff и добавит файл в индекс Git, готовый для фиксации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .