当我们查看更改时,提交日志会被混淆。
我使用msysgit-1.9.5-xxx在Windows 7(韩国版本,编码为CP949)上运行Jenkins。git存储库位于远程Linux机器上。我有一个问题,就是最近的更改信息被破坏了。 经过一些测试和调试之后,我发现,至少在我的例子中,从外部git.exe的标准输出接收到的日志消息已经损坏了。因此,生成目录中的changelog.xml文件存储损坏的文本。 git-客户端插件执行外部git.exe,如以下命令:"git.exe whatchanged --no-缩写为-M --M-pretty=raw df1cca6135b7019dbd583693b59f6b97f408f5c5 ",并将git.exe out更改日志改为标准out。git-客户端插件接受了这个输出。在这一点上,错误转换的消息被接收到git客户端插件。 最初的消息是UTF-8,但该消息被假定为当前操作系统的编码(我的计算机中的CP949),然后出现错误的编码转换(CP949到UCS-2)。我还不知道是哪一个做了错误的转换;、get.exe还是其他。
我的核查过程如下:
因此,我试图通过配置git日志消息编码(从默认的utf8到gbk )来解决这个问题。奇怪的是,尽管changelog.xml文件已经进行了gbk编码,并且可以正常查看,但Jenkins的更改日志页中仍然存在这些乱七八糟的字符。
那么我对接下来要做什么感到不知所措。
发布于 2015-07-01 08:24:08
在cmd上试试这个
git config --global i18n.commitEncoding cp949
git config --global i18n.logOutputEncoding cp949 或者将编码更改为您需要的任何内容。我干得很好!
https://stackoverflow.com/questions/29668350
复制相似问题