配置 git-lfs 以跟踪超过一定大小的文件

Uri*_*hen 6 git bitbucket atlassian-sourcetree git-lfs

我有一个安装了 git-lfs 的 git 存储库,我希望在 LFS 中包含大于某个大小的所有 PDF 文件,但不是所有 PDF 文件,因为 git-lfs 支持。这样做的原因是我有许多矢量格式的小型 PDF 图形文件,它们可以在常规版本控制中使用,还有一些大型 PDF。

可以这样配置 git-lfs 吗?

我使用来自 Atlassian source-tree 的 git 并在 bitbucket 中托管存储库,也许那些支持这个更高级的用例?

abr*_*rac 6

不幸的是,这在 git-lfs 上是不可能的。请参阅问题#282

然而,用户 Baccanno 提供了一个hack,但我不会推荐它用于包含许多文件的存储库。它会跟踪高于阈值的所有文件,但可以对其进行修改以仅对 PDF 执行此操作。

黑客:

(此处复制,无保证)

将其放入[alias]git config ( project_root/.git/config) 部分并将末尾的 300k 更改为您想要的大小

track-large = !"git st --porcelain --ignore-submodules | grep -v \"D \" | awk '{ l=length($0); s=substr($0,4,l-1); print s}' | sed -n 's/\\(\\(.* -> *\\)\\|\\)\\(.*\\)/\\3/p' | xargs -I{} find {} -size +300k | xargs -I{} git lfs track \"{}\""
Run Code Online (Sandbox Code Playgroud)