内容简介:Git的最新版带来了丰富的新功能以及内部更新,包括改进的diff、branch和grep,更好的命令行补全,新的range-diff命令等。 Git diff现在可以正确地标记以intent-to-add参数添加的新文件路径。intent-to-add可以和git add命令一起使用,完整写法即git add --intent-to-add<文件名>,以给工作树添加一个空文件。这很有用,这样git diff可以在其输出中展示新文件的完整内容。但是之前,diff中的文件路径没有被标记成新的。在一份相关说明提
Git的最新版带来了丰富的新功能以及内部更新,包括改进的diff、branch和grep,更好的命令行补全,新的range-diff命令等。 Git diff现在可以正确地标记以intent-to-add参数添加的新文件路径。intent-to-add可以和git add命令一起使用,完整写法即git add --intent-to-add<文件名>,以给工作树添加一个空文件。这很有用,这样git diff可以在其输出中展示新文件的完整内容。但是之前,diff中的文件路径没有被标记成新的。在一份相关说明提到,apply命令也改进了其对intent-to-add选项的处理。事实上,现在在应用补丁时,给索引添加新路径只影响到用intent-to-add添加了所有新文件的工作树。回过来看diff,color-moved选项已经扩展为支持新的color-moved-ws变体,它专门制作git diff移动的彩色行,而其他未改变则显示空白。Git 2.18中类似的功能是利用color-moved和ignore-space-change来实现的,尽管后一个选项将被应用于整个输出,而不只是移动的行。 Git grep有了两个新选项:列(column),它给输出添加第一个匹配的列号;以及唯一匹配的(only-matching),它限制输出为正则表达式的匹配部分,而不是整个匹配行。
Git 2.19用两种方式改进了git branch列表。首先,git branch –list现在从branch.sort配置变量读取其默认 排序 选项,与git tag –list从tag.sort中获取其默认排序选项类似。此外,git branch的-l选项(它是-create-reflog的简写)已经被弃用,以防止开发人员无意中把它当做-list的别名使用。
自2.6版本开始, Git提供git fsck命令以检查被推送到存储库的对象的完整性。这项测试可以在接收端执行,并用receive.fsck.*变量进行配置。例如,如果因为zero-padded文件模式定义receive.fsck.zeroPaddedFilemode变量导致fsck失败的话,您可以让Git拒绝推送。Git 2.19利用fetch.fsck.*变量,为git fetch提供相似的功能。 在实现方面,git子模块foreach用C进行了重写,性能因此得到了改进。此外,对命令行补全的支持也得到了改进,现在会列出子命令所用的配置变量列表和包括带-no-前缀的选项。git fetch命令支持新的-negotiation-tip选项以减少返回的提交集。当本地存储库具有在远程历史记录中不存在的大量引用时,这能提高带宽和性能。 在开发方面,Git 2.19已经禁用strcat,这被认为太危险了,现在会引起编译失败。
还有很多Git 2.19中的新功能我们没有在这里进行介绍。如果您有兴趣了解全部的细节,请别错过官方发布说明。
查看英文原文: Git 2.19 Improves Diff, Branch, and Grep, and More
感谢冬雨对本文的审校。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- FreeBSD 13.0-RC1 发布:改进 TCP 性能、修复和改进 SCTP
- Lanai-UI 改进后发布,AdminLTE 改进后的脚手架
- 敏捷开发的持续改进
- Android 功耗改进
- Android功耗改进
- Pika改进笔记
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。