2016-08-01 6 views
3

Вот commit cba438 on Github.GitHub - почему две строки отмечены как разные без каких-либо видимых различий?

Как вы можете видеть, строка # 1 в index.html помечается как изменилась:

Но, как я могу видеть, что нет ни одного измененная характер. Это до GitHub или Git? Это ошибка или какой-то скрытый характер был изменен?

+0

Это может быть линия окончаний или, возможно, пробел. Я думаю, что это Git, GitHub скорее всего является свидетелем. –

ответ

4

Да, там есть скрытый персонаж, UTF8 BOM.

$ git show cba438:index.html | od -c | head -1 
0000000 357 273 277 < ! d o c t y p e  h t m 
$ git show cba438~1:index.html | od -c | head -1 
0000000 < ! d o c t y p e  h t m l > \n 

Относящиеся SO вопрос: What's different between UTF-8 and UTF-8 without BOM?

+0

Спасибо Wumpus за хороший ответ с объяснением командной строки. –

0

enter image description here

Похоже пробелы в конце строки удалены.

+0

Это странно. Я почти уверен, что в моем коде не было никаких пробелов, поскольку в Sublime Text есть '" trim_trailing_white_space_on_save ": true'. Кроме того, если это пробел, GitHub не должен отмечать его следующим образом: https://i.imgur.com/5KIR6fU.png –