Git LFS 3.0.0 发布,对大文件进行版本控制的 Git 扩展
Git LFS 是一个命令行扩展,用于使用 Git 管理大文件。Git LFS 3.0.0 版本是一个重要的新版本,引入了几个新特性,具体更新内容如下:
向后兼容的改动:
- 对 NTLM 的支持已被完全删除
- 当使用 SSH URL(即以
ssh://开头的语法)时,在调用git-lfs-authenticate或git-lfs-transfer时不会去掉前面的斜线。这与 Git 在通过 SSH 调用命令时的行为一致 git lfs fsck现在会额外检查指针是否符合规范,以及那些应该是 LFS 文件的文件是否符合规范。- 模式匹配应该更加严格,应该与
.gitattributes或.gitignore的行为相匹配 - Git LFS 现在会将 Git LFS 仓库格式的版本写入仓库。这样做是为了允许将来在不兼容的情况下进行扩展。
- ……
功能:
- 将软件包版本提升到 v3
- 更新 OS 版本
- 增加对 Debian 11 的支持
- 支持锁定和解锁多个文件
- 增加对 Windows ARM64 的支持
- LFS 仓库格式版本
- 纯粹基于 SSH 的协议
- 让 fsck 能够检查无效的指针
- 在 migrate info 命令中增加 -fixup 选项
- 允许在 migrate info 命令中单独报告 LFS 指针的情况
- 为默认远程添加配置变量
- 让 lfshttp 包的构建更加便捷
- ……
Bug 修复:
- filepathfilter:总是使用与 Git 兼容的模式匹配
- debian 和 rpm:向
install和uninstall传递--skip-repo - 修复 prune 中的挂起
- 在解析日志和锚点差异正则表达式时禁用 ANSI 色码
- go.mod:将 gitobj 升级到 v2.0.2
- 修复多路径和绝对路径的锁定问题
- migrate import:让
--above只影响单个文件 - fs:清理时不要太激进
- 让 blobSizeCutoff 的所有检查保持一致
- 修正对 "migrate info" 命令的 -top 选项的处理
- 像 Git 那样对 Windows 路径进行规范化处理
- lfsapi:不对重复但相同的别名发出警告
- ……
更多详情可查看:https://github.com/git-lfs/git-lfs/blob/main/CHANGELOG.md