git: 比较二进制文件
git: comparing binary files
我需要一些帮助,git 如何处理用于推送和拉取的二进制文件?因为我有 2 个二进制文件,所以我不想覆盖它们。我想得到他们的差异。这可能吗?怎么可能?
Git 将以与处理文本文件相同的方式处理二进制文件以进行推送和拉取。但正如 this excellent blog 指出的那样,出于多种原因,您应该避免将二进制文件添加到您的存储库中。首先,对二进制文件进行比较会给你一个毫无意义的结果。如果 diff 完全干净,那么您就会知道您的本地副本和 repo 是相同的。但是如果 diff 显示变化,您可能无法弄清楚这些变化代表什么。
此外,二进制文件往往很大,并且您的存储库中的二进制文件太多会使克隆变得困难。最重要的是,如果您想从您的存储库中删除一个二进制文件,这可能需要一些工作。
二进制文件的数量和大小并不重要。您应该对未生成的资产进行版本控制。对于 真正 大文件(通常是未压缩的视频等),您可能想要使用其他东西来管理精灵表、图像、小音频剪辑、PDF 文件等内容,git 将在一些警告下正常工作。
普通的文本差异没有用。 Git 在他们的网站上有一个 attribute system which allows you to, among other things, use custom differs so it might be possible. Github added things like image diffing,因此您可以看到图像之间的差异。
当 git 打包其数据库中的对象时,它们是增量压缩的。这意味着即使你有两个 1GB 的文件,一旦你打包了存储库(就像你推送时自动完成的那样),总的存储库大小很可能会大大小于 2GB。
除此之外,我认为没有任何问题。您仍然可以跟踪二进制资产的修订以及良好的提交日志,这可能是一件有用的事情。
我需要一些帮助,git 如何处理用于推送和拉取的二进制文件?因为我有 2 个二进制文件,所以我不想覆盖它们。我想得到他们的差异。这可能吗?怎么可能?
Git 将以与处理文本文件相同的方式处理二进制文件以进行推送和拉取。但正如 this excellent blog 指出的那样,出于多种原因,您应该避免将二进制文件添加到您的存储库中。首先,对二进制文件进行比较会给你一个毫无意义的结果。如果 diff 完全干净,那么您就会知道您的本地副本和 repo 是相同的。但是如果 diff 显示变化,您可能无法弄清楚这些变化代表什么。
此外,二进制文件往往很大,并且您的存储库中的二进制文件太多会使克隆变得困难。最重要的是,如果您想从您的存储库中删除一个二进制文件,这可能需要一些工作。
二进制文件的数量和大小并不重要。您应该对未生成的资产进行版本控制。对于 真正 大文件(通常是未压缩的视频等),您可能想要使用其他东西来管理精灵表、图像、小音频剪辑、PDF 文件等内容,git 将在一些警告下正常工作。
普通的文本差异没有用。 Git 在他们的网站上有一个 attribute system which allows you to, among other things, use custom differs so it might be possible. Github added things like image diffing,因此您可以看到图像之间的差异。
当 git 打包其数据库中的对象时,它们是增量压缩的。这意味着即使你有两个 1GB 的文件,一旦你打包了存储库(就像你推送时自动完成的那样),总的存储库大小很可能会大大小于 2GB。
除此之外,我认为没有任何问题。您仍然可以跟踪二进制资产的修订以及良好的提交日志,这可能是一件有用的事情。