首页 > 解决方案 > 强制 git 自动删除以前版本的二进制文件——这可能吗?

问题描述

我正在尝试将其Github用于一些学术工作,作为 Dropbox 和 Google Drive 等重量级云存储系统的替代品。这意味着我想将 PDF 图形和手稿保存到我的 git 存储库中,以便协作者可以从我的私人存储库中克隆/提取这些东西(我.tex在同一个存储库中有代码和文件,因此,我觉得 git还是合适的)。不幸的是,由于保存了这些旧的、不需要的科学数据版本,.git文件夹的大小很快就会变大(我们在确定一些值得发表的东西之前会产生很多)。git

是否可以让 git在每次提交时自动删除所有二进制(.pdf、.png 等)文件的版本历史记录?也就是说,对于某些文件类型,git 只会跟踪最近提交期间存在的文件。

或者,是否有一个简单的命令可以用来定期清除git 中的二进制文件版本历史记录,以便在.git开始变得庞大时运行它?

标签: git

解决方案


Git 并非旨在作为备份服务。它是作为版本控制系统构建的。这意味着 git 跟踪的任何文件都必须具有更改历史记录。所有更改都存储在 .git 的存储库中。

你不应该使用Git 作为 Dropbox 或 Google Drive 的替代品,因为它们有两个完全不同的目的。

如果您确实需要对大文件进行版本控制,那么您应该查看git-lfs。再一次,这是一个版本控制系统,而不是一个文件存储系统。它仍将存储有关文件所有版本的所有信息。如果您只需要文件存储,那么您应该使用现有的云存储系统。


推荐阅读