【发布时间】:2016-11-20 14:17:35
【问题描述】:
我在一个开发项目的团队中工作,该项目包括在 SQL Server Management Studio (SSMS) 中创建的文件。 SSMS 的默认文件编码是:Codepage 1200 (Little-endian UTF-16)。
Git for Windows 将这些文件识别为二进制文件。它无法显示文件的差异视图,也无法合并文件(远程合并覆盖本地版本)。
我们可以轻松更改 SSMS 中的默认编码。但是,我们不希望有任何 UTF-16 文件被提交的风险 - 因为它们会对我们的源代码控制和发布管理流程造成严重破坏。
This stack overflow post 描述了如何使用 Clean/Smudge 过滤器在提交时将 UTF-16 文件即时转换为 UTF-8,使用 GnuWin32 提供的两个工具:iconv、file。
这很好用,我们已经在 msysgit 1.9.5 预览版中使用了很长时间。但是,此版本已被弃用,并且较新的 Git 具有我们作为团队需要的越来越多的功能。问题是这种解决方法依赖于更新两个文件:Git\etc\gitattributes 和Git\etc\gitconfig。这 2 个文件在 Git for Windows 2.x 中不存在
如何向 Git 2.x 添加 UTF-16 支持?通过调整针对 Git 1.x 描述的解决方法或通过任何其他方式。
【问题讨论】:
标签: git encoding utf-8 ssms utf-16