Я работаю с большим сложным репозиторием со многими подмодулями, с которым я не слишком знаком. Когда я запускаю
$ git pull --recurse-submodules upstream
, я получаю следующий вывод из моего git 2.17.1. Вывод ниже выглядит аккуратно, но, пожалуйста, представьте, что
M16
на самом деле plugins/reports/myLengthyPluginName
и т. Д., - хэши - это 40 символов, а
- строки фактического вывода операции извлечения (например,
From https://github.com...
и т. д., удаленные здесь) еще больше засоряют представление.
Реальная вещь - ужасный беспорядок и не помещается на одном экране. Вот упрощенный вывод:
Fetching submodule M1
Fetching submodule M2
Fetching submodule M2.1
Fetching submodule M2.2
Fetching submodule M3
Fetching submodule M4
Fetching submodule M5
Fetching submodule M6
Fetching submodule M7
Fetching submodule M8
Fetching submodule M9
Fetching submodule M10
Fetching submodule M11
Fetching submodule M12
Fetching submodule M13
Fetching submodule M14
Fetching submodule M15
Fetching submodule M16
Already up to date.
error: Your local changes to the following files would be overwritten by checkout:
composer.lock
Please commit your changes or stash them before you switch branches.
Aborting
Submodule path 'M3': checked out 'd03b95e...'
Submodule path 'M4': checked out '42e746bc...'
error: Your local changes to the following files would be overwritten by checkout:
composer.lock
Please commit your changes or stash them before you switch branches.
Aborting
Submodule path 'M8': checked out 'e632056...'
Submodule path 'M9': checked out '1eb7698...'
Submodule path 'M10': checked out '32b091d...'
Submodule path 'M11': checked out '7fd0738...'
Submodule path 'M12': checked out 'b1b3dcc...'
Submodule path 'M13': checked out '23f396a...'
Submodule path 'M16': checked out 'd6c72c2...'
Unable to checkout '8c0355a...' in submodule path 'M2'
Unable to checkout 'bea5d8f...' in submodule path 'M5'
Мой вопрос: Как узнать путь к файлам, упомянутым в сообщении "Ошибка: ваши локальные изменения ..." ?
В моем рабочем пространстве было четыре composer.lock
файла. В моем случае проблемными были на самом деле M2
и M5
, помеченные как "Невозможно оформить заказ" внизу, так что это могло бы быть просто.
Но это соответствие я полностью понял только после того, как подготовил этот вопрос;в моей реальной работе потребовался час, чтобы отследить проблемы, понять и решить их (git checkout composer.lock
), потому что первоначально я смотрел только на строки выше и ниже сообщений об ошибках, когда пытался понять их контекст.
Всегда ли существует такое соотношение 1: 1 между ошибками в середине и "Невозможно оформить заказ" внизу?