BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Git 2.8改进子版本库、身份处理和Windows支持

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 谢丽 关注 11 他的粉丝 发布于 2016年4月1日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

近日发布的Git 2.8带来了许多新特性、改进和Bug修复。其中,最值得注意的是子版本库并行获取、Git用户身份处理方式改进以及更好的Windows支持。

子版本库并行获取允许一次获取多个版本库,旨在减少获取版本库及其所有相关子版本库所需的时间。这可以通过使用新增的--jobs选项来实现,例如:

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

据Git团队介绍,对于包含许多子版本库的版本库,这可以大大增加更新速度。当使用--recurse-submodules而不带新增的--jobs选项时,Git会逐个获取子版本库。

对于希望针对不同的项目(比如工作项目和开源项目)使用不同的身份标识的开发人员而言,全局配置选项将是一个受他们所有人欢迎的新特性。当没有使用配置选项user.nameuser.email显式指定身份时,该特性会禁用Git推测提交者身份的默认行为。在这种情况下,Git默认推测提交者身份的行为可能会导致将错误的身份用于新版本库。另一方面,设置新增选项user.useconfigonly,即

git config --global user.useconfigonly true

将使Git在开发人员向新版本库提交但没有明确指定身份时发出警告,强制他们提供一个明确的身份用于那个版本库访问。

有一个相关的变化旨在让用户更容易了解特定设置定义的位置,是系统级,用户级,还是版本库级。实际上,开发人员现在可以使用:

git config --show-origin <setting name>

显示特定设置的来源位置。

Git 2.8还有一个目标是改进它同Windows的集成,措施如下:

  • 使用C重写了许多Git命令,让它们的运行速度更快;
  • it-for-Windows分支合并了若干特定于Windows的更改;
  • 可以识别CRLF及LF行结束符。

此外,Git 2.8.0修复了一个整数溢出安全漏洞,该漏洞可能导致在克隆恶意版本库时任意代码的执行。对于以前的Git版本,包括2.4.11+、2.5.5+、2.6.6+、2.7.4+,也已经提供了补丁。

Git 2.8中其它有用的新新特性包括:

  • git ls-files --eol <filename>可以帮助诊断行结束符相关的问题;
  • git pull --rebase现在可以使用rebase -i激活历史改写。

要查看Git 2.8的完整更新列表,请点击这里

查看英文原文:Git 2.8 Adds Improvements to Submodules, Identity Handling, and Windows Support

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT