С Git 2.14 (3 квартал 2017 г.) такого рода советы, которые даются в риторическом вопросе, не требующие ответа (например, "did you forget to use 'git add'?
"), больше не будут.
См. commit6963893 , коммит 9932242 , коммит 6c48686 (11 мая 2017) Жан-Ноэль Авила (jnavila
) .
(Объединено Junio C Hamano - gitster
- в коммит e638108 , 29 мая 2017 г.)
удобство использования: незадавать вопросы, если ответа не требуется
Когда написание команды содержит ошибки, программа git пытается помочь пользователю, предоставляя кандидатов, близких к несуществующей команде.Например, Git печатает следующее:
git: 'stahs' is not a git command. See 'git --help'.
Did you mean this?
stash
, а затем завершает работу.
Проблема с этим подсказкой заключается в том, что он официально не обозначен как подсказка, и пользователь фактически поощряетсяответить на вопрос, в то время как команда Git уже завершена.
Пользователю не повезло, что это была команда, которую он искал, и он ответил «да» в командной строке, эффективно запустив yes
program.
Первоначальная ошибка заключается в том, что программы Git при запуске в режиме командной строки (без взаимодействия) не должны задавать вопросы, потому что эти вопросы обычно требуют ввода данных пользователем в качестве ответа, который они выиграли 'Я действительно не справлюсь.Это источник путаницы на уровне UX.
Чтобы улучшить общее удобство использования пакета Git, было применено следующее правило:
, если появляется предложение
- в неинтерактивном сеансе
- печатается последним перед выходом
- - это вопрос, адресованный пользователю («вы»)
предложение превращается в утвердительное ипредлагает вариант.
В вашем случае "did you forget to use 'git add'?
" теперь заменяется на :
Вы должны 'git add
' каждыйфайл с разрешенными конфликтами, чтобы пометить их как таковые.
Вы можете запустить git rm
для файла, чтобы принять «удаленный ими» для него.
Намного понятнее.