这是情况。临时分析存储库,每个单独的分析都有一个目录。每个目录都包含一个与一个或多个数据文件相连的脚本,这些数据文件具有不同的格式和不同的(有时相当大)大小。没有数据的脚本通常是无用的,所以我们想存储数据文件。另一方面,有时查看脚本而不被迫下载相关数据文件(以确定某些分析是如何进行的)很有用。
我们绝对不想将数据存储在单独的存储库中(运行时问题、将脚本与数据文件相关联等)
分析了什么:
我想到的想法是,从存储库中提取或克隆某些位置或某些文件(即 >> 50 MB)会很方便。只是不要传输不需要的数据。是否可以?
如果某些文件在后续提交中没有被触及,从未来推送的角度来看它们是不必要的。可能(甚至可以肯定)我对 git 的底层机制缺乏一定的了解。我将不胜感激。
我的仓库使用git lfs。对于新克隆,我运行:
git lfs install
git clone https://example.com/repo.git
Run Code Online (Sandbox Code Playgroud)
克隆到开始下载lfs文件,到达某个文件然后失败的地步。每次尝试克隆时,失败的文件都不同。偶尔会成功。
这是输出:
Cloning into 'repo'...
remote: Counting objects: 35699, done.
remote: Compressing objects: 100% (17678/17678), done.
remote: Total 35699 (delta 15603), reused 35553 (delta 15545)
Receiving objects: 100% (35699/35699), 231.45 MiB | 11.12 MiB/s, done.
Resolving deltas: 100% (15603/15603), done.
Downloading big_file.big (157.39 KB)
...
Downloading some_other_big_file.big (18.84 KB)
Error downloading object: some_other_big_file.big
Errors logged to blah.log
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed …Run Code Online (Sandbox Code Playgroud)