在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 在并发用于多个工作树时也可以很好地工作了。此外,该命令现在支持old 和new 子命令,与之前的bad 和good 子命令相比,不那么令用户迷惑了。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多个提交。感兴趣的读者可以从发布说明中查看完整的列表。
查看英文原文:Git 2.7: a Major New Release with Many New Features and Improvements |