\Git的最新版带来了丰富的新功能以及内部更新,包括改进的diff、branch和grep,更好的命令行补全,新的range-diff命令等。\\Git diff现在可以正确地标记以intent-to-add参数添加的新文件路径。intent-to-add可以和git add命令一起使用,完整写法即git add --intent-to-add\u0026lt;文件名\u0026gt;,以给工作树添加一个空文件。这很有用,这样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

\\

感谢冬雨对本文的审校。

Git 2.19 对Diff、Branch和Grep等做了改进相关推荐

  1. Git导出差分(diff)包--before/after/patch

    *完全由本人原创,转载请注明出处哦~ http://blog.csdn.net/adrianjian/article/details/44085181* 差分包是什么? 即修正前后的差异.包含修正前. ...

  2. git apply、git am打补丁.diff 和 .patch

    前提: 生成patch: git format-patch -M master 生成指定patch,0163bed3bf59ae74c36cc5138b4c24f1556d8304是commit id ...

  3. 关于git中,两个branch自动同步的问题和解决

    关于git中,两个branch自动同步的问题和解决 1问题描述 2问题原因 3解决方法 1问题描述 在git中,如果在一个branch中对代码进行了修改,切不做任何操作直接checkout另一个bra ...

  4. git push 出现 The current branch dev has no upstream branch.的问题

    git push 出现 The current branch dev has no upstream branch.的问题 原因:本地分支没有和远程分支关联,导致无法push 解决方法:git pus ...

  5. grep命令做永久别名 显示颜色

    grep命令做永久别名  显示颜色 http://jingyan.baidu.com/article/22fe7ced17c1543002617f9c.html http://blog.csdn.ne ...

  6. diff git 指定时间_Git diff 代码比较的高级技巧

    Git diff 代码比较的高级技巧 Git是使用branch来管理不同的功能点开发的,那么我们怎样能比较不同branch的不同呢? 使用 git diff  branch1 branch2 , 就可 ...

  7. diff git 代码实现_Git diff 算法

    在Git中,有四种diff算法,即Myers,Minimal,Patience和Histogram.默认Myers.Minimal是Myers的改进,Histogram是Patience的改进.Mye ...

  8. git 移动分支指针_理解git 中的HEAD指针branch指针

    HEAD指针 使用git checkout 来移动HEAD指针,移动的对象可以是分支指针也可以是快照. HEAD指针可以指向快照也可以指向branch.当指向branch时提交后会和branch指针一 ...

  9. [git] 基础操作-01-diff / diff head 版本比较 - 非常的详细讨论版本比较中的各种符号的意思,以及如何在git中进行版本比较

    前言: 本文讨论,各个处理逻辑中版本的表述.比较中,git的操作的细节和表述符合的具体意义:(非常细节,会的朋友可以跳过) 对于 遇到的各个命令,会给出详细的解释在附录里面: 理解git文档的四个状态 ...

最新文章

  1. nodejs实现继承的简单代码示例
  2. power linux 安装系统,powershell 安装服务器
  3. oracle数据库中substring的使用方法
  4. Android之Launcher分析和修改5——HotSeat分析
  5. Spark常见问题解决办法
  6. MogDB数据库如何完美适配Grafana及Prometheus?
  7. TokenInsight:BTC多头比例延续上升,人气保持高位
  8. date对象加十分钟_js面向对象-这样学很轻松
  9. x264源代码简单分析:熵编码(Entropy Encoding)部分
  10. Activiti6记录
  11. 点亮LED灯——arduino 学习第一天
  12. Windows 7安装loopback接口
  13. Code Project精彩系列
  14. UI交互设计学习心得《一》
  15. vue对高德地图的简单使用:点击标记并获取经纬度和详细地址
  16. [概率练习]n个小球放入m个盒子
  17. 精仿苹果x开机android,800元高仿iPhone X以假乱真!更可怕的是奸商套路
  18. 1143 联络员(kruskal算法)
  19. vs2015 Windows10 Qt5.9.3(包含qtwebengine、qtwebview编译)源码编译(jom编译)心得总结
  20. cache 强缓存与弱缓存区别

热门文章

  1. Python type 函数- Python零基础入门教程
  2. 企业开发需要的git提交和拉取代码(本地仓库和github演示)
  3. php正则表达式 匹配数字,正则表达式之匹配数字范围
  4. java 正则表达式 table_Java 使用正则表达式
  5. java desktop mailto,mailto在Java?
  6. android显示矩阵大小,关于android:显示代表灰度图像的双值矩阵
  7. python3 for sum_Python for循环和“sum13”方法
  8. python 数组维度_python – 非常基本的Numpy数组维度可视化
  9. jdbc获取mysql第二行表信息_【奇技淫巧】MySQL另类方法获取元数据信息
  10. yang模型中rpc_领域驱动模型(DDD)设计讲解