这个问题看起来很简单,但我却难以确定将文件内容存储为 BLOB 而不仅仅是其原始格式(例如文本文件)的明显优势。
通常情况下,BLOB 用于替代其他媒体存储格式:图片、视频、音频等。至少在我常见的用法中,git
通常跟踪文本文件的修订,而非多媒体。
正式总结一下:将文件内容存储为 BLOB(转换为二进制数据)而不是修订的原始格式(例如保留为文本),有哪些优势?
这个问题看起来很简单,但我却难以确定将文件内容存储为 BLOB 而不仅仅是其原始格式(例如文本文件)的明显优势。
通常情况下,BLOB 用于替代其他媒体存储格式:图片、视频、音频等。至少在我常见的用法中,git
通常跟踪文本文件的修订,而非多媒体。
正式总结一下:将文件内容存储为 BLOB(转换为二进制数据)而不是修订的原始格式(例如保留为文本),有哪些优势?
hello.jpg
的图像添加到您的存储库中,然后提交,那么您将拥有相同数据的两个副本:
您将在磁盘上有一个名为hello.jpg
的文件,其中包含JPEG数据,
您将在Git对象数据库中拥有一个名为其内容哈希的Blob,其中包含完全相同的JPEG数据以相同的格式。
数据库可以使用一些高级技巧有效地存储数据,包括压缩和使用增量,但最终仍然存储原始文件中的确切相同的数据。
文本文件也不例外。“文本”只是一种特定类型的数据,您可以将其存储在二进制文件中。