git 2.44 横幅
经过三个月的开发, Git 2.44新版本正式发布,与前一版本相比新增了 503 项变更。这些变更由 85 位开发者共同完成,其中 34 位是首次参与 Git 的开发工作。
对于不熟悉 Git 的用户来说,它被誉为最流行、最可靠、性能最高的版本控制系统之一,提供基于分支和合并的灵活、非线性开发工具。为了维护历史记录的完整性并防止追溯性更改,Git 在每次提交中都会使用一个隐式哈希值,该哈希值包含了之前所有提交的历史记录。
Git 2.44关键新功能
在 Git 2.44 的新版本中,最重要的特性之一是支持跨多个包重用对象。这项优化使得 Git 能够在多个包中利用对象重用,从而无需将整个仓库重新打包成单个包。通过这项改进,Git 可以更高效地生成包,从而在向远程仓库推送和拉取代码时获得更快的速度和更高的性能。从 2.44 版本开始,Git 可以跨多个包文件处理对象重用,而无需将整个仓库重新打包成单个包文件。
此外,`git replay` 的引入为 `git rebase` 提供了一个有效的替代方案,它可以用于在没有工作树的服务器上重建历史记录(例如,不包含工作树的简单仓库),同时处理多个分支,对与当前检索的分支不同的分支执行变基操作,或者仅仅是为了加快合并操作。`git replay` 显著提升了性能,尤其是在大型仓库的合并和变基操作中。
从 Git 2.44 开始,`--autosquash` 选项现在可以用于非交互式的基础更改操作。此功能允许您自动将 fixup! 或 squash! 提交应用到相应的位置,而无需手动检查待办事项列表。
另一大亮点是新增的诸多功能和改进。`git add` 和 `git stash`命令现在支持`:(attr:…)` 路径属性,其配置方式与 `git show` 命令类似。例如,`git add ':(attr:~binary)'` 可用于将所有文本(非二进制)文件添加到索引中。此外,还引入了 `builtin_objectmode` 属性,用于按访问权限过滤文件路径。例如,`git add ':(attr:builtin_objectmode=100755)'` 可用于将所有可执行文件添加到索引中。
其他显著变化包括:
- 添加了对 GitLab CI 持续集成系统的支持。
- 添加了选项«–差异算法»到«命令git 合并文件» 选择替代算法来评估文件之间的差异。
- 添加了对 wincred 凭据管理后端更新 OAuth 令牌的支持,类似于 b 中的实现方式ackends credential-cache 和 credential-libsecret。
- «混帐» 添加了对 « 配置选项的支持获取全部«,其处理方式与添加 « 选项类似-全部» 在命令行上。
- 添加选项 «–忽略其他工作树» 启用更新和签出使用不同工作树的分支。这将恢复“git checkout -B”命令之前的行为。
- 现在可以将此设置设置为 «true» 删除指令 «禁用此消息...» 显示建议时占用了屏幕空间。这通过从命令输出中删除不必要的元素来改善用户体验。
- 该命令的执行已通过选项 « 进行了优化–无排序»。以前,即使指定 «–无排序«,仍然按字母顺序排列。现在,经过优化后,使用 «–无排序“ 加速 ”git for-each-ref git foreach-ref» 在具有大量引用的存储库中大约提高了 20%。
最后,如果您有兴趣了解更多信息,可以点击以下链接查看详情。