Компьютеры · Инструкция
Git ls-files --unmerged: посмотреть stage 1/2/3 конфликтующего файла
В merge-конфликте полезно увидеть не только маркеры в рабочем файле, но и три версии, которые Git хранит в index.
Короткий ответ
В конфликте выполните `git ls-files --unmerged`. Git покажет для пути записи index stage 1, 2 и 3: общий предок, вариант текущей стороны и вариант второй стороны.
Что делать
- 1. Во время незавершённого merge/rebase выполните `git ls-files --unmerged`.
- 2. Найдите нужный путь и номера stage в четвёртом поле записи.
- 3. Используйте stage 1 как base, stage 2 как текущую сторону, stage 3 как другую сторону.
- 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.