Git 2.1发布:新特性预览

Git在2.0版本发布两个月后,推出了2.1版,尽管仅是小版本更新,但新增特性和改进内容丰富。亮点包括更出色的bash补全功能、log.decorate配置变量的增强、支持在合并时使用vimdiff3、git-grep增加全路径名输出选项等。此外,还包含了性能提升和bug修复。本文详细介绍了这些新特性和改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Git 2.0发布两个半月之后,Git又发布了新的版本2.1版。虽然只是小版本号的更新,但是这一版的新特性和改进的内容的列表却很长。 \

可以从git仓库找到完整的发布日志,该日志提供了关于Git 2.1版更多的细节。下面我们挑选了一些Git 2.1版的新特性来进行一下简单的介绍。 \

  • 更出色的bash补全功能 \

    Bash补全功能得到了进一步的扩展,从而可以“更好地处理那些为复杂的命令序列而定义的别名”。换句话说,如果你为一组命令序列定义了一个别名,该别名对应的命令序列是将一个git命令的结果通过管道输入到例如像grep、sort或其他任何的命令行程序中,那么自动补全功能会像处理原生的git命令一样将为该别名生成相同的选项。

    \
  • 装饰日志的“auto”选项 \

    log.decorate 这一配置变量目前支持通过指定值auto,从而可以在输出被发送到tty的时候,自动启用--decorate 选项。

    \
  • 支持在合并时采用vimdiff3 \

    git mergetool命令目前支持使用vimdiff3作为背后实现

    \
  • 在git-grep中支持全路径名输出 \

    添加了一个--full-name 选项,允许以全路径名的展现形式获取结果,替代了根据当前目录展示相对路径的方式。需要重点关注的是该行为现在已是默认配置:“git grep 现在对grep.fullname 配置变量强加了‐‐full-name选项,从而使该选项成为了默认配置”。这会对那些不期望该种新行为的脚本化用户造成损害。

    \
  • 标签排序 \

    Git-tag现在支持tag.sort配置,“当没有指定‐‐sort= 选项的时候,将会按照默认的顺序进行排序。” Tim Pettersen在Atlassian Blog中提供了一个关于该新特性如何使用的很好的例子,他考虑到标签中的版本数字从而建议采用下面的方式作为默认排序:

    $ git config --global tag.sort version:refname
    \

    通过设置上述的默认选项,使用git tag 将会对版本数字进行正确地排序,而无需同时指定任何特定的排序选项来覆盖它原有默认的按字母排序的方式。

新版的Git同样也包含了数个针对性能提升和大量bug修复的变更。更多的详情可以查看完整的发布日志。上面提到的Tim Pettersen 的文章也非常值得一读,因为它囊括了作者关于“新版中让身在Atlassian的我们兴奋的几个方面”的一些想法,并提供了更加丰富的示例。 \

查看英文原文:Git 2.1 Released: What's New

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值