Git 在克隆时更改二进制文件

Dan*_*anP 1 windows git github

我刚刚开始使用 git,在尝试从 github 克隆存储库时遇到了问题。存储库中包含多个二进制文件(.exe 和 .dll);当我在本地计算机上克隆它时,这些二进制文件都无效(就 Windows 而言)。尝试执行它们会导致显示以下消息:

“XXX 不是有效的 Win32 应用程序”

相信我已经正确设置了所有内容(使用 GitExtensions,如果相关的话) - 但我似乎无法解决这个问题。

非常感谢任何帮助!

编辑:

这是我当前的 .gitconfig - 如果相关:

[merge]
    tool = kdiff3
[mergetool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[diff]
    guitool = kdiff3
[difftool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[core]
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor
    autocrlf = true
Run Code Online (Sandbox Code Playgroud)

Dan*_*ple 5

您可能遇到了行结尾修复的问题 - 并且它没有将文件视为二进制文件:

例如,如果您希望所有 *.foo 文件被视为二进制文件,您可以在 .gitattributes 中包含此行:

*.foo -crlf -diff -merge 
Run Code Online (Sandbox Code Playgroud)

这意味着所有具有 .foo 扩展名的文件都不会进行回车/换行翻译,不会进行比较,并且合并将导致冲突,而原始文件不会受到影响。

来源信息:关于行结尾:http://help.github.com/dealing-with-lineendings/

关于二进制文件:http://www.bluishcoder.co.nz/2007/09/git-binary-files-and-cherry-picking.html