Git 2.7: 一个新的带来许多新特性和性能提升的主要版本

时间:2024-12-26 20:34:38

在2.6版本发布两个月之后,Git 2.7发布。该版本带来了许多新特性以及性能的提升。

本文选取了Git 2.7带来的主要变化:

  • git remote支持get-url子命令,可以显示指定远端的URL。
  • git rebase新增了一个命令行选项--no-autostash,可以覆盖配置变量rebase.autostash
  • git worktree支持list子命令,可以显示代码库的工作树及相关的分支。工作树是Git
    2.5
    初次引入的一个特性,旨在使在同一个代码库的多个分支上工作更简单。
  • git
    bisect
    在并发用于多个工作树时也可以很好地工作了。此外,该命令现在支持oldnew子命令,与之前的badgood子命令相比,不那么令用户迷惑了。bisect查找那些产生了不良影响而又难以确定的状态变化时非常有用。它使开发人员可以标识good/old提交以及bad/new提交,这样,就可以对那些提交进行二叉搜索,查找造成破坏的提交。
  • git
    submodule
    支持一个新的配置选项push.recurseSubmodules,帮助开发人员将变更推送到主模块,而不需要提前推送修改过的子模块。使用命令行选项--recurse-submodules=on-demand也可以获得同样的效果,但新增的push.recurseSubmodules选项将此设为默认行为。
  • git
    stash
    支持一个新的配置选项stash.showPatch,使它总是显示实际的修改,而不是受影响的文件的路径列表。在Git
    2.6中,这一动作可以通过在命令行中使用-p标识实现。
  • 在性能方面,Git 2.7使用C重写了git submodule

Git 2.7还包含许多其他的变更,其中包括800多个提交。感兴趣的读者可以从发布说明中查看完整的列表。