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

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

关注

评论

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

Windows Server 2025 中文版、英文版下载 (2024 年 12 月更新)

sysin

windows

京东关键词搜索商品列表数据接口(JD.item_search)

tbapi

京东API接口 京东商品列表接口

SpringBoot中15个常用启动扩展点,你用过几个?

架构师之道

Java springboot

cdr平面设计软件下载 CorelDRAW for mac最新中文版附激活秘钥

Rose

数据库管理利器!Navicat for MySQL,让数据操作更便捷

Rose

云服务器Flexus X实例|MySQL应用加速测试

轶天下事

NetScaler Console Release 14.1 Build 38.53 (ESXi, Hyper-V, KVM, Xen) - 集中管理 NetScaler

sysin

NetScaler

编程必备!sublime text轻盈高效,编程更流畅

Rose

MES系统中的生产看板在生产管理中的应用与价值

万界星空科技

数据可视化 mes 万界星空科技 电子看板 生产看板

银翼新境 致态TiPro9000引领个人存储PCIe 5.0新时代

新消费日报

Windows Server 2019 OVF (2024 年 12 月更新) - VMware 虚拟机模板

sysin

windows

Windows Server 2022 中文版、英文版下载 (2024 年 12 月更新)

sysin

windows

NetScaler Release 14.1 Build 38.53 (nCore, VPX, SDX, CPX, BLX)

sysin

NetScaler

Axure RP 10中文汉化安装包 好用的交互式原型设计工具-mac/win

Rose

部署电影收藏管理器Radarr

轶天下事

Flexus X实例性能测评

轶天下事

一键多开,高效沟通!WechatTweak微信多开神器来袭!

Rose

Bartender 4 for Mac(菜单栏应用管理软件)

Mac相关知识分享

Windows Server 2022 OVF (2024 年 12 月更新) - VMware 虚拟机模板

sysin

windows

(2024永久密钥JProfiler)JProfiler for mac下载安装

Rose

Illustrator 2024下载-AI2024中文破解教程

Rose

Qualcomm IPQ9570 and IPQ5312 WiFi 7 Chips Foundation of Future Networks: Comprehensive Analysis

wifi6-yiyi

WiFi7

Windows Server 2025 OVF (2024 年 12 月更新) - VMware 虚拟机模板

sysin

windows

EndNote 21大客户授权版 v21.2永久激活版

Rose

大模型,在内卷中寻找出口

脑极体

AI

程序员失业没offer、空窗期长!掌握Java架构核心宝典就能逆袭!

程序员高级码农

Java 编程 程序员 java面试 Java面试题

AnyGo for Mac(虚拟定位软件)

Mac相关知识分享

半导体未来三大支柱:先进封装、晶体管和互连

E科讯

YouTube视频播放器 Clicker for YouTube mac版

Rose

终于有人从零到精通开始教大模型开发了!基于PyTorch与ChatGLM

程序员高级码农

Python 人工智能 大数据 AI 互联网

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