n1ro°
RU

Компьютеры · Инструкция

Git ls-files --unmerged: посмотреть stage 1/2/3 конфликтующего файла

В merge-конфликте полезно увидеть не только маркеры в рабочем файле, но и три версии, которые Git хранит в index.

Редакция N1RO · Проверено

Короткий ответ

В конфликте выполните `git ls-files --unmerged`. Git покажет для пути записи index stage 1, 2 и 3: общий предок, вариант текущей стороны и вариант второй стороны.

Что делать

  1. 1. Во время незавершённого merge/rebase выполните `git ls-files --unmerged`.
  2. 2. Найдите нужный путь и номера stage в четвёртом поле записи.
  3. 3. Используйте stage 1 как base, stage 2 как текущую сторону, stage 3 как другую сторону.
  4. 4. После разрешения конфликта добавьте файл через `git add <path>` и убедитесь, что `--unmerged` больше его не показывает.

Важные ограничения

  • `--unmerged` автоматически включает stage-формат и не выводит обычные tracked-файлы.
  • Смысл ours/theirs может зависеть от операции, поэтому ориентируйтесь на контекст merge или rebase.

Что учитывать

`--unmerged` автоматически включает stage-формат и не выводит обычные tracked-файлы.,Смысл ours/theirs может зависеть от операции, поэтому ориентируйтесь на контекст merge или rebase.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. git-ls-files Documentation). Пример и формулировки — редакция N1RO на 2026-09-18.