Ответ 1
Это сообщение об ошибке встречается в некоторых похожих вопросах StackOverflow: здесь, здесь. Googling приносит сообщение с рассылкой с этой ошибкой. Никто не дал объяснений, почему это происходит, поэтому я подумал, что добавлю то, что нашел.
Некоторый обзор терминологии, со страницы man git
:
GIT КОМАНДЫ
Мы разделим git на команды высокого уровня ( "фарфор" ) и команды низкого уровня ( "сантехника" ).
Из вышеприведенных сообщений будет показано, что при запуске git status
он вызывает git status --porcelain
. man git-status
помогает нам сообщить, что означает флаг --porcelain
для:
- фарфор
Дайте результат в формате простого для анализа скриптов. Это похоже на короткий выход, но останется стабильной версии git и независимо от конфигурации пользователя. Подробнее см. Ниже.
Итак, проблема связана с вызовом git status
, который по умолчанию пытается форматировать свой вывод во что-то простое для синтаксического анализа.
Из приведенных выше сообщений, в частности, ответы здесь и списки рассылки, Я бы предположил, что по какой-то причине ваш репозиторий git стал поврежден. Если вы используете подмодули, возможно, один из них поврежден - это актуально, потому что
status run "git status --porcelain" внутри каждого заполненного подмодуль, чтобы увидеть, содержит ли он изменения (link)
если явно не сказано, чтобы этого не делать.
Что касается почему, у вас есть поврежденный репозиторий git? Я не знаю. Несколько других людей в StackOverflow упомянули переписывание, перемещение, замену или вообще поиск в каталогах .git
в своих репозиториях. К счастью, у вас есть резервная копия, правда?;)