克隆时Git更改二进制文件

时间:2010-11-01 15:27:46

标签: 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

1 个答案:

答案 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