我正在做一个视频播放器。我的项目文件夹中有以下内容:
这四个dirs应各自独立: /资源 / sample_applications /图片 /视频
现在repo只包含/ source目录...这只是代码。
它在我的本地计算机上。我正在考虑将它添加到git hub。
我的问题是:我应该将示例应用,图片和视频添加到回购广告吗?这是人们通常做的事情和其他人希望人们做的事情吗? git甚至可以处理视频(noob在这里)?
答案 0 :(得分:3)
这是关于堆栈溢出的类似问题:
Managing large binary files with git
简而言之,是的,它可以处理二进制文件(读取视频),但如果它们很大,那么当人们最初克隆你的回购时,这可能是一个麻烦。如果它们很小,并且对于在大多数情况下使用程序的程序员很有用,那么将它们添加到repo中可能是个好主意。如果它们很大且必要,那么在该页面上讨论了如何使用git-submodule来管理repo的视频部分。
答案 1 :(得分:3)
这取决于二进制文件的大小。如果他们加起来比你应该好十或二十MB。如果有数百兆的视频和图像,那么它将大大夸大回购的大小。
Git压缩所有文件,只存储修订版之间的差异。这对于文本非常有效,而不是二进制文件。如果文件稍有变化,那么diff算法很可能不会产生完美的差异,而是添加一个全新的版本。这对于视频来说更糟糕,因为它已经被非常积极地压缩,因此不会利用git压缩。期望您的存储库的大小是所有视频文件大小的总和。
关于get的另一个问题是,无论何时克隆,她的存储库的整个副本都会传输。同样,这成为一个大型存储库的问题。
但是,如果大小不是问题,我强烈建议将这些二进制文件放入一个单独的存储库,并使用获取的子模块将其链接到sourse repo。通过这种方式,您的源代码保持良好和小巧,使您可以在将来以其他方式自由处理二进制文件。
答案 2 :(得分:1)
是的,git对二进制数据没问题。