我刚刚开始使用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
答案 0 :(得分:4)
你可能已经违反了行结尾修复 - 并且它没有将文件视为二进制文件:
例如,如果你想要所有* .foo 要被视为二进制文件的文件 你可以有这条线 .gitattributes:
*.foo -crlf -diff -merge
这将意味着所有扩展名为.foo的文件 不会有回车/换行 完成翻译,不会 差异和合并将导致 离开原始文件的冲突 不变。
来源信息: 关于行结尾:http://help.github.com/dealing-with-lineendings/
关于二进制文件:http://www.bluishcoder.co.nz/2007/09/git-binary-files-and-cherry-picking.html。