Я редактирую некоторые файлы уценки клонированного удаленного репозитория и хотел протестировать создание и применение исправлений из одной ветки в другую. Однако каждый раз, когда я вообще вношу какие-либо изменения, я получаю следующее сообщение git apply
:
0001-b.patch:16: trailing whitespace.
warning: 1 line adds whitespace errors.
(Это происходит на моем Mac, и я не знаю, где был создан исходный код.)
Что означает предупреждающее сообщение и нужно ли мне беспокоиться?
git
whitespace
patch
git-patch
Ярин
источник
источник
Ответы:
Тебе не нужно заботиться.
Предупреждение вводит стандарт чистоты текстовых файлов в отношении пробелов, о чем обычно заботятся многие программисты. Как объясняется в руководстве :
Итак, «ошибка» означает, что изменение вводит завершающий пробел, строку, состоящую только из пробелов, или пробел, который предшествует табуляции. Кроме этого факта, в изменении нет ничего ошибочного, и оно будет применяться чисто и правильно. Другими словами, если вас не волнуют «неправильные» пробелы, не обращайте внимания на предупреждение или отключите его с помощью
git config apply.whitespace nowarn
.источник
git show
- если ваш git отображает цвета, вы увидите, что оскорбительные пробелы выделены красным цветом. Кроме того,git show --word-diff
он покажет вам не только изменение строки, но и вставки в середине строки, которые должны показать, действительно ли патч добавляет слово только в середине, или он также добавляет конечный пробел.Один из случаев, когда вы могли бы на законных основаниях проявлять осторожность, - это когда вы хотите различать «старую» ошибку пробелов (которую вы, возможно, захотите сохранить по устаревшим причинам) и «новые» ошибки пробелов (которых вы хотите избежать).
С этой целью Git 2.5+ (второй квартал 2015 г.) предложит более конкретную опцию для обнаружения пробелов.
См. Коммиты 0e383e1 , 0ad782f и d55ef3e [26 мая 2015 г.], автор - Junio C Hamano (
gitster
) .(Объединено Junio в коммите 709cd91 , 11 июня 2015 г.)
Документация в настоящее время включает в себя :
Например, у старой фиксации была одна ошибка пробела (
bbb
), но вы можете сосредоточиться только на новых ошибках (в концеstill bbb
иccc
):(тест сделан после
t/t4015-diff-whitespace.sh
)В Git 2.26 (Q1 2020)
diff-*
семейство подкоманд сантехники теперь обращает внимание наdiff.wsErrorHighlight
конфигурацию, которая раньше игнорировалась; это позволяет "git add -p
" также показывать конечному пользователю проблемы с пробелами.См. Commit da80635 (31 января 2020 г.) Джефф Кинг (
peff
) .(Объединено Junio C Hamano -
gitster
- в коммите df04a31 , 14 февраля 2020 г.)источник
Здесь показана ошибка пробелов с визуальными изображениями.
http://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines
источник
Поскольку строка
TAB
начинается с istead ofSPACE
. Перейдите к файлу патча и замените егоTAB
наSPACE
. Например, на vim в строке + из файла патча введите x, чтобы удалить пробел, а не удалить знак + и вставить пробел (CTRL) в eqiv до исходного размера.источник