热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么git认为我的.sql文件是二进制文件?

如何解决《为什么git认为我的.sql文件是二进制文件?》经验,为你挑选了2个好方法。

我有一些.sql文件,我只是第一次推送到github.但是当我查看提交时它会说:

BIN ????? WebRole/Sql/Database.sql View
Binary file not shown

有人能告诉我它为什么说"二进制文件没有显示"



1> VonC..:

单独的扩展名不足以让GitHub查看它是否是文本文件.
所以它必须看看它的内容.

正如" 为什么Git将此文本文件视为二进制文件? "中所述,其内容可能不包含足够的ascii字符来猜测它是文本文件.

您可以使用.gitattributes文件显式指定.sql应该是文本,而不是二进制文件.

*.sql diff

更新2018:正如我在" Utf-8编码不能处理utf-8编码文档 "中提到的那样,Git 2.18 .gitattributes有一个新working-tree-encoding属性.
所以,如Rusi的回答所示:

*.sql text working-tree-encoding=UTF-16LE eol=CRLF

正如kostix在评论中补充道:

如果这些文件是由Microsoft SQL Management Studio生成的(或者您正在使用的MS SQL Server管理工具版本中调用的那些文件),则它保存的文件将以UCS-2(或UTF-16)编码 - a双字节编码,这确实不是Git眼中的文字

你可以在" Git说" Binary files a… and b… differ"on for *.regfiles "中看到一个例子

如" 在git中将文件设置为非二进制 "中所述:

"为什么Git将我的文件标记为二进制文件?" 答案是因为它在文件的前8000个字符内的某处看到了NUL(0)字节.
通常,这是因为文件被保存为UTF-8以外的其他内容.因此,它可能被保存为UCS-2,UCS-4,UTF-16或UTF-32.所有这些都在使用ASCII字符时嵌入了NUL字符


正如Neo 在评论中提到的那样(为什么Git将此文本文件视为二进制文件?):

您可以通过从"文件"菜单中的"高级保存选项"菜单项中选择编码"带签名的UTF-8",将SSMS中已保存文件的编码更改为UTF-8.


您可以通过从"文件"菜单中的"高级保存选项"菜单项中选择编码"带签名的UTF-8",将SSMS中已保存文件的编码更改为UTF-8.资料来源:http://stackoverflow.com/a/21170043/197591
@Alan,如果这些文件是由Microsoft SQL Management Studio生成的(或者在您使用的MS SQL Server管理工具版本中调用的那些文件),它保存的文件将以UCS-2(或UTF-16)编码 - 一个双字节编码,这确实不是Git眼中的文本.
另一个巧妙的技巧,如果你在Windows中运行Git Bash并且不想覆盖你对文件所做的任何更改,只需输入"dos2unix*.sql".这将把所有UCS2文件转换为UTF8,允许git识别文本.
@Neo好点.我已将您的评论包含在答案中以获得更多可见性.

2> Carl..:

使用链接问题的可接受答案和其他一些意见,我提出了此解决方案,该问题正在运行并且可以在Win10上运行

$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False
Get-ChildItem -Recurse *.sql | foreach {
    $MyPath = $_.FullName;
    $COntents= Get-Content $MyPath
    [System.IO.File]::WriteAllLines($MyPath, $Contents, $Utf8NoBomEncoding)
}


推荐阅读
  • 内网知识整理
    内网 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了使用数据库管理员用户执行onstat -l命令来监控GBase8s数据库的物理日志和逻辑日志的使用情况,并强调了对已使用的逻辑日志是否及时备份的重要性。同时提供了监控方法和注意事项。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • FILETYPE*filetype.txt*ForVimversion6.4.文件类型*filetype**file-type*1.文件类型|filetypes|2.文件类型插 ... [详细]
  • HBase干货 | 如何优雅的通过Key与Value分离降低写放大难题?
    本文将为大家介绍为什么这样能够有效的降低写放大,然后聊聊几个keyvalue分离系统的结构,包括两篇影响比较广泛的学术论文,以及HBase在keyvalue ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 从互联网诞生以来,消息应用就一直伴随我们左右。然而最近一段时间,由于一些国家开始实施大规模监控策略, ... [详细]
  • 导读:今天编程笔记来给各位分享关于php织梦跟帝国是什么的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
author-avatar
蜜小嘟_546
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有