gpt4 book ai didi

git - SourceTree 无法显示大文本文件的 GIT 差异(或将其视为二进制文件)

转载 作者:行者123 更新时间:2023-12-04 08:59:07 25 4
gpt4 key购买 nike

我正在尝试使用 GIT 来跟踪对一个相当大的 XML 文件(大约 3 Mb)的更改。该文件采用 UTF-8 格式,CRLF 行结束(我在 Windows 10 中工作)。但出于某种原因,GIT 一直认为它是二进制文件并且没有显示任何差异。或者只是无法检测到变化。
Sourcetree 中的 Diff 显示消息“未检测到此文件中的更改,或者它是二进制文件”
我试图在 中显式设置属性.gitattributes ,但似乎不是这个原因:

 *.xml crlf diff
   git check-attr --all -- sorkin.xml
sorkin.xml: diff: set
sorkin.xml: crlf: set
我发现当我将大文件切成三个较小的部分(小于 1 Mb)时,GIT 会正确显示它们的更改。
计算差异时是否有一些 GIT 对文件大小的限制?

最佳答案

问题不是 GIT 选项,而是 SourceTree 设置工具/选项/差异。默认情况下,它具有内部差异 View 的设置 - 1024Kb 文本文件的大小限制。
我将它设置为更高的值,它解决了我的问题。
我错误地解释了 SourceTree 错误消息“未检测到此文件中的任何更改,或者它是一个二进制文件”。但是当我创建一个长度为 1048576 和 1048577 字节的文本文件并提交它们时,我发现 git diff 命令行有效,而 Atlassian SourceTree 忽略了更大文件的更改。
为 git diff 使用正确的语法很重要: git diff commit_hash 1048577.txt而不是 git diff 1048577.txt ,因为最后一个命令显示 HEAD 和当前更改之间的差异,这是我误解问题的第二个因素。

关于git - SourceTree 无法显示大文本文件的 GIT 差异(或将其视为二进制文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63646679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com