Git 对文件编码感到困惑?

Git 对文件编码感到困惑?

我有一些在 MS SQL Server Management Studio 中创建的 SQL 查询文件,当在 VIsual Studio Code 中打开时,Git 认为所有内容都发生了变化,这似乎是编码差异问题。在下面的屏幕截图中,旧文件到处都是特殊字符,而新文件没有。在 SQL Management Studio 中打开时,它们看起来都很正常。

我该怎么做才能避免这个问题?

VS Code Git 更改比较视图

答案1

如果我没记错的话,该编辑器似乎是 Visual Studio Code。几个月前我也遇到过同样的问题。然而,最近我在相关目录中本地创建了一个新的 Git 存储库“Git Init”,这个问题又出现了。

我建议的第一个操作是检查文件编码是否与存储库中的编码相对应。这可以在任务栏的右下角看到:
        VSCode 编辑器右下角

按下突出显示的字段,在编辑器顶部的“显示命令”中调出“使用编码重新打开”和“使用编码保存”列表菜单。反复尝试“使用编码保存”,并在“源代码控制”(热键:++)下查看时进行交叉检查,看看Ctrl是否可以比较正常字体。ShiftG

在我的 VSCode 配置文件设置中,默认设置是:

"files.encoding": "utf8"

我现在在 Git 存储库中设置了:

"git config gui.encoding utf-8"

对于本地存储库,当然您也可以通过输入以下内容进行全局设置:

"git config --global gui.encoding utf-8"

如果您有存储库集合,这可能更有意义。

目前我还没有完全找出错误所在,但我的猜测是 VSCode 试图猜测文件的格式,但猜测并不准确。这会导致上传的文件的编码与 VSCode 最后保存的文件的编码不正确。最终结果是比较无法正常工作。

希望这对大家有帮助,

相关内容