Git 2.8 正式版以发布

Git 2.8 正式版已于3月29日正式发布,相信这对于所有热衷于使用Git作代码管理的筒子们是个巨大的惊喜。

Jeff King公告中显示,在超过70位贡献者的帮助下,新版Git拥有了多项新功能,并修复了多个已知错误。以下是最为有用的几个新特性:

并行读取submodules

当使用"git submodules"命令的时候,一个Git仓库将以子目录形式包含其它Git仓库(与SVN的svn:externals命令类似)。

当你从一个仓的顶级目录开始提取代码,使用以下命令将submodule仓一块下载:

git fetch --recurse-submodules

如果项目包含大量的submodules,上面这条命令可能会花很长时间。之前的fetch实现是顺序执行,但现在2.8中新增了并行读取功能,例如:

git fetch --recurse-submodules --jobs=4

--job=4参数允许一次同时读取4个submodules,实乃省时利器。

Windows版Git的增强

Windows下Git的表现一直广被人诟病。举个例子,因为在Windows下启动一个进程很贵(别看我,看原文,原文就是如此)。为了保证执行的效率,很多原来是用脚本实现的Git命令,不得不用C重写。

在这个版本的实现中,合并了大量"Git for Windows"项目的代码。Windows下的表现基本能达到Linux 和 OS X相近的水平了。

还有一点可喜的小改进是,有几个使用文本文件作为输入的Git命令已经能接受LF和CRLF作为行结束符了。之前为此跳脚骂娘的筒子们终于可以休息几天了。

还有若干有意义的更新,比如安全方面的很多增强。好奇心强的同学请自行查阅原始release note档.

https://github.com/blog/2131-git-2-8-has-been-released