Git 2.20 带来了大量变更和修复,包括改进的克隆(cloning)、抓取( fetching)、查询(grepping)等。此外,Git 的 Windows 端支持的最小版本已经设定为 Vista。
正文
Git 2.20 带来了大量变更和修复,包括改进的克隆(cloning)、抓取( fetching)、查询(grepping)等。此外,Git 的 Windows 端支持的 Windows 的最小版本现在已经设定为 Vista。
Git 2.20 侧重于可用性、性能的改进和 bug 的修复。例如,当克隆文件名仅仅大小写有差异的库到大小写不敏感的系统时,Git 现在可以更好地处理。在这种情况下,Git 将发出警告,以防止文件丢失。另一个改进了的命令是 git fetch,它以前不支持标记的不可变性,并悄悄地更新了所有现有标记。现在,除非给出–force 选项,否则它将失败。
现在为提交图文件的生成提供进度指示,从而改进使用大型存储库的用户体验,因为在大型存储库中,生成提交图可能需要很长的时间。与之类似,当刷新存储库索引需要很长时间时,现在 git status 命令将显示一个进度条。
git grep 命令现在可以使–no-recursive 标志以非递归的方式执行,它只是–max-depth 0 的别名。
交互式 rebase 是 Git 中最常用的命令之一,现在可以在任务列表中处理新的中断操作了,实现方法是在用户遇到中断时将控制权返还给用户。如果您希望在继续 rebase 操作之前手动修改某个提交时,在某个提交处进行中断可能是很有用的。
Git 2.20 还使配置更加灵活。在 2.19 版本之前(包括 2.19 版本),Git 支持三种配置文件:系统(例如/etc/gitconfig、Git config --system…)、全局或每个用户(例如~/.gitconfig、git config --global …)和每个存储库(例如./.git/config, git config --local …),这对于共享相同存储库的工作树来说是不够的,因为它不支持具有不同配置的工作树。现在您可以使用–worktree 标记和 git config 命令读取或写入一个.git/config.worktree 文件。
在性能方面,git submodule update 以及 git rebase 和 git rebase -i 都已经用 C 重写了,因此为了获得更好的性能,移植到 C 的命令数量也越来越多了,包括 git pull、git am、git rebase 等等。
Git 2.20 还修复了许多错误,包括在编辑期间提供空提交消息时中止 rebase 操作;删除在 git status 时由于未清理重用变量而导致的断言失败;等等。
最后,Git 现在支持的最低 Windows 平台版本为至少 Windows Vista 以上。
在此,还有很多 Git 2.20 内容没有介绍,所以请不要错过官方发布说明。
查看英文原文:Git 2.20 Brings Improved Workflows and Performance
评论