【问题标题】:Git GUI on windows not recognizing SQL (.sql) file as textWindows 上的 Git GUI 无法将 SQL (.sql) 文件识别为文本
【发布时间】:2011-05-05 16:47:31
【问题描述】:

抱歉,如果这个问题已经得到解答,但我还没有找到答案:(

我在 Windows 7 机器上使用 SQL Server Management Studio 2008。

我右键单击任何存储过程、函数或对象,然后选择“修改”。
我单击“保存”并将文件保存到本地硬盘驱动器上的 git 存储库文件夹中。
我将文件保存为建议的类型 = "Microsoft SQL Server 查询文件 (.sql)
所以现在我有一个文件,例如“MySproc.sql”在 SQL Management Studio 中可以正常打开,但是当我使用 Git GUI 并执行“扫描”以查找修改后的文件时,它会将我的新“MySproc.sql”显示为“* 二进制文件(不显示内容)”。而不是简单的文本。

我尝试在记事本中打开文件并重新保存,但没有解决问题。

任何帮助将不胜感激。

【问题讨论】:

标签: git user-interface text-files


【解决方案1】:

只是猜测,但我会说您的 .sql 文件是 UTF-16;如果你将它保存为 UTF-8 或 ASCII,我想 git gui 可以正常使用它。

【讨论】:

  • 当我在记事本中打开任何文件并“另存为”时,它会显示文件编码为“ANSI”......请原谅我缺乏知识,但我如何才能看到文件的编码?
  • 最好的选择是使用一个不错的文本编辑器。 Notepad++ 和 PSPAD 是两个免费选项,可以告诉您需要了解的内容。
  • @Tao, @Andre:SQL Management Studio 支持使用不同的编码进行保存。当您执行另存为时,单击“保存”按钮上的向下箭头,然后选择“使用编码保存...”。
  • @Andre:请记住,如果存储库中的原始文件是 UTF-16,那么 UTF-8 或 ASCII 的新版本将无法进行比较。如果这是问题所在,您最好的选择可能是使用不同的工具进行比较,即支持 Unicode 的工具。
  • 在 SQL Management Studio 2012 中,选项是文件 -> 高级保存设置。
【解决方案2】:

这很烦人,但我所做的是在上传更改之前将扩展名更改为 .txt。我认为 .sql 扩展名是 git 的绊脚石。

附:如果您使用的是 SQL Server Management Studio,这里有一个有价值的提示。右键单击您的数据库。从弹出菜单中选择任务,然后选择生成脚本。这会将您带入一个向导,您可以在其中为数据库中的所有内容生成脚本。您可以将所有脚本输出到一个文件夹中。然后在提交更改之前使用oscar's renamer 之类的程序将扩展名更改为 .txt。这是向数据库添加源代码控制(尽管是手动的)的好方法。

【讨论】:

    【解决方案3】:

    您也可以使用 powershell 将文件转换为 ASCII。

    Get-Content Filename.sql | Out-File NewFileName.sql -Encoding ascii
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-08
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2018-02-15
      相关资源
      最近更新 更多