QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Git 2.17 改进了移动代码差异比较和对象搜索

  • 2018-04-22
  • 本文字数:1016 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Git 的最新版本 2.17 版给出了多个改进,以及一些小的新特性,包括更好的移动代码配色、在历史中查找对象等。

Git 2.17 通过设定移动代码行的配色组,改进了 diff 命令的显示。通常情况下,Git 在显示上并不区分移动代码行与其它的代码更改。现在,用户可以使用–color-moved 选项,以不同的配色分别显示移动了但是并未更改的代码行,以及发生了移动也做了更改的代码行。移动代码行所用的配色,可使用 diff.colorMoved选项指定。--color-moved选项支持下列配置:

  • no:不高亮显示移动代码行。
  • zebra:Git 会检测包含至少 20 个字符(字母和数字)的代码块,并选择显示配色。一旦检测到了新的代码块,就更改为另一种颜色显示。前后两个代码块的配色分别使用color.diff.{old,new}Movedcolor.diff.{old,new}MovedAlternative选项指定。
  • dimmed_zebra:与zebra配置类似。区别之处在于,它对移动代码中不感兴趣的部分变暗显示。
  • plain: 使用color.diff.newMoved所指定的配色,在新位置显示在某处移除并添加到新位置的的代码行;使用color.diff.oldMoved指定的配色,在原位置显示移除并添加到其它位置的代码行。

在 Git 2.17 版中,对 log 和 diff 命令添加了新的选项--find-object。该选项可将搜索结果仅局限于指向给定对象哈希串的提交。Git 对象可能会出现在多个提交中。例如,一个对象是在一次提交中首次创建的,之后可能会在另一次提交中删除。对象在重命名或拷贝时,会对应于多条路径,因此这样的对象不易被追踪。现在,使用下面的命令可以选取并显示指向给定对象的所有提交:

复制代码
git log --find-object=<hash-here> -p
</hash-here>

在 Git 2.17 版中,rebase(变基)命令和 am(应用递送补丁)命令都支持新选项--show-current-patch,显示使用命令给出的差异。在 rebase 或 merge 命令因发生冲突而停止时,该选项给出的输出十分有用。此外,merge 命令使用的“默认不采用 Fast Forward 模式”策略也稍作了修改。新版本在合并一个标签(tag)时,会应用 Fast Forward 模式,除非标签对象并非位于默认的“/refs/tags”目录中。对于下游(downstream)贡献者从上游(upstream)更新打标签版本上的主题分支(Topic Branch),这一改进可阻止提交无必要的合并。

Git 2.17 中还包括了很多改进,本文无法一一列举。推荐查看官方发行说明

查看英文原文: Git 2.17 Improves Moved Code Diffs and Object Search

2018-04-22 19:001736
用户头像

发布了 391 篇内容, 共 142.1 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

数据结构-二叉树中的操作

可口也可樂

数据结构 二叉树 10月月更

react源码中的hooks

flyzz177

React

手写现代前端框架diff算法-前端面试进阶

helloworld1024fd

JavaScript

手写JavaScript常见5种设计模式

helloworld1024fd

JavaScript

华为云全球加速GA,让企业获得更优质的服务体验

清欢科技

告别宽表,用DQL成就新一代BI

石臻臻的杂货铺

大数据 BI 10月月更

前端高频vue面试题合集

bb_xiaxia1998

Vue

IM跨平台技术学习(六):网易云信基于Electron的IM消息全文检索技术实践

JackJiang

前端二面手写面试题总结

helloworld1024fd

JavaScript

华为云弹性公网IP服务,为企业敲开互联网大门

清欢科技

华为云全球加速GA,助跨境企业云上业务通达

清欢科技

Pytorch、CUDA和cuDNN的安装图文详解win11(解决版本匹配问题)

timerring

PyTorch cuda 10月月更 cudnn

线下面授前端培训哪个机构好

小谷哥

每日一题之Vue数据劫持原理是什么?

bb_xiaxia1998

Vue

全局图优化:提升 MegEngine 模型推理性能的又一神器

MegEngineBot

深度学习 开源 性能优化 MegEngine 全局图优化

ShareSDK iOS端 UniversalLink生成最佳实践

MobTech袤博科技

ios universal link

嵌入式 Linux 入门(六、Shell 脚本编程下:Shell 脚本语法)

矜辰所致

Linux Shell shell脚本编程 10月月更

浅谈OpenHarmony LiteOS-A内核之基础硬件——中断控制器GIC400

OpenHarmony开发者

OpenHarmony

react源码中的fiber架构

flyzz177

React

「聚变」前端 & 客户端 | 第十七届 D2 终端技术大会,来了

阿里巴巴终端技术

阿里巴巴 前端 移动端 客户端 D2

TiKV 源码阅读三部曲(二)读流程

PingCAP

TiKV 源码解读

华为云全球加速GA,助力中小企业突破发展瓶颈!

清欢科技

大数据技术培训零基础学习怎么样

小谷哥

java培训和自学相比效果如何

小谷哥

C++中的多态

可口也可樂

c++ 多态 10月月更

C++中的继承

可口也可樂

c++ 继承 10月月更

一图看懂融云「百幄」数智办公平台

融云 RongCloud

办公 数智化

GaiaX开源解读 | 基于优酷业务特色的跨平台技术

阿里巴巴文娱技术

开源 移动开发 移动端开发

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

使用参数非参数和机器学习方法分析印度降雨变化,能给我国带来什么警示?

GPU算力

使用实时3D渲染软件创建身临其境的数字体验

Finovy Cloud

3D渲染 云渲染 图像软件

Git 2.17改进了移动代码差异比较和对象搜索_Git_Sergio De Simone_InfoQ精选文章