强制git自动删除以前版本的二进制文件——这可能吗?

强制git自动删除以前版本的二进制文件——这可能吗?,git,Git,我正在尝试使用Github进行一些学术研究,作为Dropbox和Google Drive等重型云存储系统的替代品。这意味着我想将PDF数字和手稿保存到我的git repo中,以便合作者可以从我的私人repo中克隆/提取这些内容(我在同一个repo中有代码和.tex文件,因此出于这个原因,我觉得git仍然是合适的)。不幸的是,.git文件夹的大小可能很快变得庞大,因为git正在保存这些旧的、不需要的科学数据版本(在确定有出版价值的东西之前,我们生成了很多) 是否可以让git在每次提交时自动删除所有

我正在尝试使用
Github
进行一些学术研究,作为Dropbox和Google Drive等重型云存储系统的替代品。这意味着我想将PDF数字和手稿保存到我的git repo中,以便合作者可以从我的私人repo中克隆/提取这些内容(我在同一个repo中有代码和
.tex
文件,因此出于这个原因,我觉得git仍然是合适的)。不幸的是,
.git
文件夹的大小可能很快变得庞大,因为
git
正在保存这些旧的、不需要的科学数据版本(在确定有出版价值的东西之前,我们生成了很多)

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


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

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

您应该而不是使用Git替代Dropbox或Google Drive,因为它们有两个完全不同的用途


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

听起来您需要的不是答案。如问题中所述,我试图将git用作版本控制系统和存储系统。将
.tex
乳胶手稿存储在一个目录中,而将渲染的PDF存储在另一个目录中,或者将生成图形的
.py
文件存储在一个目录中,而将渲染的图形存储在另一个目录中,这是没有意义的。当然,我不是在这个repo中存储数据集,只是在逻辑上与原始文本文件密切相关的二进制文件,对于原始文本文件,版本控制是合适的。@LukeDavis这是你的问题:Git不是一个存储系统。使用Git对.txt和.py文件进行版本控制,使其达到预期用途。存储渲染的图形是滥用git来达到一个它不应该解决的目的。@LukeDavis如果你坚持使用git来达到这个目的,你将不得不使用一个非常大的.git文件夹和大量下载来克隆你的repo。@LukeDavis:我不同意:如果你有LaTeX源文件,这些文件将进入git,但是运行
pdflatex
的pdf文件不在同一个Git存储库中。该存储库的
.gitignore
可能将
*.pdf
作为行项目。类似地,持有Python代码的Git repo应该
.gitignore
*.pyc
和/或
\uuuuuPycache\uuuuu
@LukeDavis一般的经验法则是生成的文件不应该放在源代码管理中。