Git 2.43已经发布,这是它的新闻

Git 2.43

Git 2.43 横幅

经过三个月的开发, Git 项目最近宣布发布新版本 Git 2.43,该版本包含来自 80 多位贡献者的新功能和错误修复,其中 17 位是新贡献者。

Git 2.43为“git repack”命令引入了“--filter”和“--filter-to”选项。这些选项允许您根据指定的对象过滤器重新打包存储库。

此外,如有必要,可以将不符合过滤器的对象移动到单独的位置。 这些选项对于根据某些标准对存储库进行分区非常有用,例如删除不必要的或过大的对象。 尽管进行了这些修改,但通过部分克隆访问存储库所有部分的能力仍然保留。

新版 git repack 的另一个显著变化是,它现在支持处理多个 Cruft 包,以及使用对象过滤器拆分存储库内容。

此外,能够处理包含无法访问对象信息的多个捆绑文件(通常称为“杂乱捆绑包”)也值得关注。这些文件在代码仓库中未被引用;也就是说,它们没有通过分支或标签进行链接。随着新的 `git repack --max-cruft-size` 选项的引入,现在可以指定单个捆绑文件的最大大小,并将无法访问对象的数据库分割成多个较小的捆绑文件。

当重新打包具有大量无法访问对象的存储库时,使用多个小包文件而不是一个大包文件可以显着减少 I/O 操作。 这是因为每次操作都不需要覆盖所有数据,从而提高了过程的效率。

值得注意的是,for-each-ref 命令已更新,新增了与格式相关的功能,用户现在可以告诉 git for-each-ref 将存储库中指定的任何 .mailmap 规则应用于自定义格式说明符,包括 %(authorname)、%(committeremail) 等。

此外,值得注意的是,当“git revert”回滚提交并记录回滚信息时,其默认日志消息已被修改,以鼓励人们用自己的语言更好地描述复杂的“回滚”情况。

新版本的其他显著变化包括:

  • Git 的 CI 系统发生了重大变化,当新的推送发生到正在进行 CI 检查的分支时,允许中止正在进行的 CI 运行。
  • Git 现在还可以使用并向 Coverity(Synopsys 的静态分析工具)报告结果。
  • «git 合并文件» 现在有一种方法可以读取要从 blob 对象合并的三种内容变体。
  • 添加了应用 .mailmap 规则来指定使用选项指定的格式的功能 -格式“%(authorname)”和“%(committeremail)”到“git for-each-ref» 和类似的命令。
  • 现在选项 –rfc 和 –subject-prefix 他们一起工作
  • 古代写下的一条信息阻止了一个分支被删除,说它已经在其他地方记录下来了。 但现在建议将一个分支一分为二或重新基址为已检出的分支,并防止使用相同的代码路径进行修改。 该消息已被改写为该分支“正在使用”以避免混淆。
  • «git 更新索引»现在您可以选择»–显示索引版本» 检查磁盘上索引文件使用的索引格式的版本。
  • 自定义 git 日志格式的新功能,允许用户使用新的占位符添加装饰 %(装饰) ,它带有可选的修饰符,如前缀、后缀、分隔符等。

最后,如果您有兴趣了解更多信息,可以点击以下链接查看详情


在 Google 中将其添加为首选来源