Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 什么';管理存储库中辅助数据的最佳方法是什么?_Git_Version Control - Fatal编程技术网

Git 什么';管理存储库中辅助数据的最佳方法是什么?

Git 什么';管理存储库中辅助数据的最佳方法是什么?,git,version-control,Git,Version Control,我在几个项目中遇到过这个问题,但我仍然不知道一个优雅的解决方案。问题是: 在存储库中,除了源代码之外,还需要许多辅助文件来运行代码。单个文件不一定很大(因此我不确定git LFS是正确的答案),但它们加起来有很多GB。比回购协议中你想要的要多得多。这些文件可能是二进制文件,并且不会像源代码那样更改,因此它们实际上不需要像源代码那样被“跟踪”。目前,我只是有一些东西没有签入,但我个人跟踪所有不在回购协议中的东西,并在回购协议被克隆到某个地方时将它们四处移动,这变得很痛苦 其他项目如何处理这个问题?

我在几个项目中遇到过这个问题,但我仍然不知道一个优雅的解决方案。问题是:

在存储库中,除了源代码之外,还需要许多辅助文件来运行代码。单个文件不一定很大(因此我不确定git LFS是正确的答案),但它们加起来有很多GB。比回购协议中你想要的要多得多。这些文件可能是二进制文件,并且不会像源代码那样更改,因此它们实际上不需要像源代码那样被“跟踪”。目前,我只是有一些东西没有签入,但我个人跟踪所有不在回购协议中的东西,并在回购协议被克隆到某个地方时将它们四处移动,这变得很痛苦

其他项目如何处理这个问题?Git LFS听起来像是要解决一个不同的问题,但它也可以用来解决这个问题吗

谢谢

编辑:另外,假设您每天都获得新的辅助数据,例如,您的代码需要在当天进行任何计算的过去的天气数据,因此辅助数据的总收集量缓慢而稳定地增长


edit2:另一个条件:如果Git LFS是解决方案,那么假设我的回购协议位于一个尚未更新以支持Git LFS的公司隐藏服务器上,并且请求升级到BitBucket的票据已闲置数月(当然是完全假设的)。除了Git LFS之外,我还有其他选择吗?

控制问题:如果您从2017年10月开始从存储库中签出提交,假设项目当时存在,但我们假设它存在,那么您希望从该日期开始使用这些辅助数据文件,还是希望从今天开始保留当前版本?您关心的是什么?这是回购协议的规模吗?如果这些文件是必需的,那么您似乎确实希望在回购协议中包含这些文件。看看LFS描述,听起来它完全是为您的情况而设计的,假设您可以将这些文件放在远程服务器上,repo可以链接到这些文件。更好地澄清您的担忧以及为什么LFS在这方面不够优雅可能有助于找到解决方案。@LasseVågsætherKarlsen,这不是我遇到的担忧,但如果我遇到了,我想我希望能够从2017年10月开始对最近的天气数据运行旧代码(使用天气示例),因此,我希望在2017年10月之后获得辅助天气数据。@Carl,是的,问题是回购协议的规模。假设包含代码库和所有库的目录为3-4GB,辅助数据为10GB。或者100GB。把这个拖来拖去合理吗?我认为Git LFS存在的原因是超过1GB(或任何限制)的文件无法签入Git,但单个文件大小不是问题。我错了吗?Git LFS是否适用于有此问题的人?@Ryan“您的代码需要在当天进行任何计算的过去的天气数据”,您在哪里使用过去的数据进行计算?是否可以在本地git回购中计算,而无需将辅助数据推送到远程回购?辅助数据是否会随着时间的推移而失效(如30天以上的辅助数据可以删除)?