Git 2.46 带来了改进、修复和新型位图

吉特2.46

新版本 经过三个月的开发,Git 2.46 正式发布 在这个新版本中,融入了多项改进和重要的新功能,例如对新型位图的实验性支持,对实验性“reftable”后端的改进, “git config”命令的新命令行界面等等。

这个新版本的Git 2.46 包括来自超过 96 个贡献者的错误修复,其中 31 个是新的,因此是新版本 包含 746 个更改。

Git 2.46 的主要新特性

实验支持 “伪融合可访问位图”是最重要的发展之一 此版本以及这种新型位图与传统结构不同 “可访问性位图”通过存储有关提交相关对象集的数据,不是针对每个单独的提交,而是针对一次的多个提交。

因此,这个伪合并可访问性位图 允许使用单个位图来定义不同分支的提交中的对象, 从而显着提高性能,尤其是在大型存储库上。这通过减少生成多个单独位图的需要来加速 git fetch、git rev-list 和 git clone 等操作。

Git 2.46 还对其命令行界面进行了几项重要改进 以及凭证和数据存储的管理。 git config 命令的命令行界面已经过重新设计, 替换不同的选项,例如 –get、–get-all、–unset 和 –remove-section 带有一组更直观的子命令。例如,要显示所有存储库配置,您现在可以使用命令“git 配置列表«,并且要查看特定参数的内容,现在可以使用命令 «git 配置获取»。要进一步过滤结果,可以使用“--regexp”选项指定基于正则表达式的过滤器。

除此之外,在协议中«凭证助手”添加了对新“authtype”和“凭证”字段的支持,允许您为 HTTP 身份验证系统创建处理程序,这些处理程序不仅仅是验证用户名和密码,例如,在 OAuth 2.0 中使用 Bearer Token 时。而此前, 要使用此类身份验证系统,必须以明文形式指定机密数据 在 http.extraHeader 参数中。除了, 协议增加了保存每个控制器状态的能力 支持 NTLM 和 Kerberos 等协议中使用的多因素身份验证方法的凭据。

而且,实验性“reftable”后端的开发得到了改进 用于有效存储存储库中分支和标签的链接。新版本添加了“git refs migrate –ref-format=reftable”命令,用于将现有存储库迁移到“reftable”后端(之前,后端仅在存储库初始化时启用)。

同样, 在 Git 2.46 中,从测试套件转换一些测试的过程已经开始, 到使用单元测试。这样做的目的是简化低级组件的测试,并提高 Windows 平台上测试过程的效率,在大型平台上运行大量进程并在 shell 脚本中执行测试时,会产生大量开销。 。

其他突出的变化 这个新版本:

  • 向 git 命令添加了“–no-advice”选项,该选项禁用所有建议和提示消息,这有助于防止日志在 git Push 调用期间被不必要的信息堵塞。
  • 除了代码中的“#RRGGBB”表示之外,还添加了使用“#RGB”表示来解析颜色设置的功能。
  • 当 git merge 发现索引无法更新时(例如,由于
    到另一个在后台执行相同操作的进程)
  • 引入了 CPP 宏 USE_THE_REPOSITORY_VARIABLE,以帮助将代码库转换为更少依赖于 the_repository 单例实例的可用性。
  • “git version –build-options”报告版本信息
  • 构建中的 OpenSSL 和其他库(如果使用)。
  • 修复了“git mv”中的内存泄漏
  • 更新了对 zsh 的命令行完成支持(在 contrib/ 中)
    停止向最终用户 shell 交互公开内部状态

最后 如果您有兴趣了解更多有关它的信息,您可以在中查看详细信息 以下链接。