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

标签 git bitbucket atlassian-sourcetree git-lfs

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

可以这样配置 git-lfs 吗?

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

最佳答案

不幸的是,这在 git-lfs 上是不可能的。见问题 #282 .
然而,有一个 hack由用户 Baccanno 提供,但我不建议将它用于包含许多文件的存储库。它跟踪 全部 超过阈值的文件,但可以修改为仅对 PDF 执行此操作。
黑客:
(复制到这里,没有保修)
把这个放在 [alias]您的 git 配置部分( 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 \"{}\""

关于git - 配置 git-lfs 以跟踪超过一定大小的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56540406/

相关文章:

linux - 使用 ssh 命令行将存储库中的所有文件从一个目录移动到另一个目录

git - SourceTree 中的 git 子模块更新在哪里?

git - SourceTree GIT : Unable to pull, 推送,克隆 repo 错误 "Password authentication is not available for Git operations"

git 别名包括 checkout 和 pull + rebase with params

ruby-on-rails - git - 无法推送到远程,错误 'fatal: Not a git repository'

git - 如何在 github/bitbucket 中提出代码建议?

git - “git apply”失败,代码为 1 : patch does not apply error in SourceTree on Stage Hunk

Git:从存储库中删除凭据

git - 当一个 git commit 有多个父项时,统计数据是根据什么计算的?

python - 如何在 git 上构建多个函数以在 Google Cloud Functions 上自动部署?