Sam*_*lle 21 git encoding git-svn character-encoding git-extensions
编辑: git不会弄乱字符编码.这仍然是为了分享知识并避免其他人犯同样的错误.
上下文:我的企业使用svn存储库.我正在使用git-svn作为客户端与此存储库进行交互.项目中的所有文本文件都是(并且必须)使用Windows默认编码(cp -....)进行编码.我使用git-extensions,有时使用命令行来导航git.
我做了什么:在过去的3天里,我正在开发一个新功能,我做了很多本地提交.最后,我使用交互式rebase将所有这些提交压缩成一个,然后我使用git svn dcommit在一次提交中推送svn存储库中的所有内容.
然后发生了什么:一位同事告诉我,所有的重音都在我修改过的文件中,在我提交后的新文件中搞砸了.我之前已经安装了git + svn,已经在同一个存储库中提交了带重音的文本文件,这是我第一次遇到这个问题.
我的调查:我做了以下事情来调查:用notepad ++打开文件,并尝试最新的编码(包括Windows默认和UTF-8)来查看它们:它们都不能正确显示重音,并且总是呈现不同的重音通过相同的奇怪字形序列.
临时解决方法:我使用git扩展和"dcommited"快速创建了一个恢复提交.
问题:我的企业svn存储库没问题,但现在我要解决以下两个问题:
任何人都可以提供一些线索(我对git很新)?
Sam*_*lle 25
现在让我们揭示痛苦的事实(对我的自我感到痛苦,而不是对git用户来说):我确实搞乱了口音,而不是git.
我本可以刚刚删除了一个让错误地认为git可以搞乱口音的问题,但考虑到upvotes的数量,我认为比很多人犯了同样的错误,所以我选择回答我自己的问题确定真相,也许在同一案件中帮助人们:
再次感谢Dmitry Pavlenko向我提供有关如何调查此问题的指示.
+1到"git reflog"
快乐的口音修复; =)