- 我需要告诉Git某些文件是否是二进制(就像Subversion一样)吗?还是说,Git可以自动处理二进制数据?
- 如果我更改了二进制文件,那么我将拥有100个二进制版本,Git会在存储库中分别存储所有这100个版本吗?
- Git的子模块是用来做什么的?
我遇到了基本相同的问题:我想git pickle文件,但是由于它们是二进制文件,git认为它们是文本文件。
我在《Pro Git Book》中找到了关于Git Attributes的这一章节。因此,我通过创建一个.gitattributes
文件并添加以下行来解决了我的问题:
*.pickle binary
git add my-binary-file
git commit
git push
将添加您的二进制文件;这是自动的。
实际上,如果您有100个版本的文件,它将存储它(但压缩)。
您可以使用子模块来引用其他存储库。
问题出在.gitignore文件上
以下路径被你的一个.gitignore文件忽略了:
XXX/YYYY/Bin1_0x1d_0x0d.bin如果你真的想要添加它们,请使用-f选项。
git add -f XXX/YYYY/*
或者
git add -f XXX/YYYY/Bin1_0x1d_0x0d.bin