这个问题最终可能会非常愚蠢,但是......
我在Win 7环境中有一个本地GIT仓库,在Windows命令行中使用GIT。所有文件都是UTF-8(无BOM),文本包含非ASCII符号(德语,俄语等),所以提交消息也是如此。在某些时刻,我需要回忆一些过去提交的数据,这些数据是非ASCII符号。但是 gitk 和git checkout <commit-hash>
都显示非UTF-8编码的文件(根据Notepad ++的默认ANSI),当然会破坏仅UTF-8符号。退回HEAD会恢复文件的编码。
我错过了什么吗?也许需要进行一些GIT设置。我的猜测是git文件是非UTF-8,因此不能有这样的符号。
我还必须提到非ASCII提交消息正常工作(git log
和 gitk 正确显示它们虽然我没有更改cmd端代码。)
谢谢!
编辑:这是我的文件在gitk或签出时的样子(注意注释行中的字符):
@import 'reset';
@import 'mixins';
@import 'animations';
@import 'variables';
@import 'helpers';
/* ==================== Шрифты ==================== */
@font-face{
font-family:'ClearSans';
src:url('../fonts/ClearSans-Medium.eot');
src:url('../fonts/ClearSans-Medium.eot?#iefix') format('embedded-opentype'),
url('../fonts/ClearSans-Medium.woff') format('woff'),
url('../fonts/ClearSans-Medium.ttf') format('truetype'),
url('../fonts/ClearSans-Medium.svg') format('svg');
font-weight:normal;
font-style:normal;
}