写点什么

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:001580
用户头像

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

关注

评论

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

PHP通过pem文件校验签名异常

百度搜索:蓝易云

vLLM×Milvus:如何高效管理GPU内存,减少大模型幻觉

Zilliz

Milvus LLM vLLM PagedAttention

在指标平台市场中,企业的避 “坑” 选择秘籍

Aloudata

大数据 数据分析 指标管理 指标平台 指标开发

OmniPlan Pro 4 for Mac OSX 平台项目管理软件

Mac相关知识分享

Topaz Gigapixel AI for Mac(无损放大图像工具)

Mac相关知识分享

鸿蒙NEXT开发案例:光强仪

zhongcx

sublime text for Mac(代码编辑器)中文版

Mac相关知识分享

技术前沿|NeurIPS 2024 中稿快讯!两方密态推理框架 Nimbus,大模型隐私推理场景的重要技术

隐语SecretFlow

一文读懂Pencils Protocol的Auction产品,以及其背后的价值支撑

股市老人

项目变更管理必备技巧:4大实践策略助力成功

爱吃小舅的鱼

项目管理 项目变更 项目变更管理

企业如何落地多因素认证?

芯盾时代

身份认证 身份安全 iam 身份和访问管理

IPQ5312: 5gwifi The Cost-Effective Champion Driving WiFi 7 Experience

wifi6-yiyi

5G 6gwifi

🥳重磅更新!Fluent Editor 开源富文本支持 LaTeX 可编辑公式啦~

OpenTiny社区

开源 OpenTiny 富文本组件

全球司库|规划与创新创景:引领业务、高效运营、战略增值

用友智能财务

金融 科技 企业数智化 司库

NocoBase 本周更新汇总:提升工作流易用性

NocoBase

开源 低代码 零代码 无代码 版本更新

润开鸿骆敏清:软件定义新“智” 硬件,以开源鸿蒙发行版驱动行业顶层创新

科技热闻

PHP中哪个框架最适合做API?

科普小能手

php API PHP框架 PHP开发 API 接口

重新理解RocketMQ Commit Log存储协议

百度搜索:蓝易云

error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413解决方案

百度搜索:蓝易云

MySQL修改时间添加时间自动更新

百度搜索:蓝易云

解析金融数据存储难题:多元量化如何通过 TDengine 实现高并发与低延时

TDengine

tdengine 时序数据库 数据库·

《Django 5 By Example》阅读笔记:p54-p75

codists

Python django

原生鸿蒙政务行业应用开发模板上线,近200个政务服务应用已上架

最新动态

数据湖系列之四 | 数据湖存储加速方案的发展和对比分析

百度Geek说

百度 数据湖 存储

个推SDK:人民日报、新华社等数十万App的双十一运营神器

新消费日报

荣耀开发者服务平台越来越AI

荣耀开发者服务平台

开发者生态 大模型时代 AI智能客服 荣耀HONOR

一文了解LCD,LED和OLED屏幕的区别

Dylan

技术 LED display LED显示屏 OLED lcd

哪些技术项目管理工具最适合开发团队?9大推荐

爱吃小舅的鱼

技术项目管理工具

After Effects 2023 for Mac(AE2023)

Mac相关知识分享

Photoshop 2025 for mac25.11.0中文直装版

Mac相关知识分享

php循环读取txt里面关键词并按页数

百度搜索:蓝易云

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