主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

git range-diff 命令

Git 基本操作


git range-diff是一个用于比较两个提交范围内差异的高级 Git 命令,主要解决三类问题:

  • 版本演进对比:比较同一分支不同版本的补丁序列变化
  • 分支差异分析:结构化展示两个分支间的提交差异
  • 修改影响评估:精确显示重新修订的提交内容变化

与普通git diff不同,它能智能匹配相似提交,即使中间插入了新提交或修改了提交信息。


基本语法

1. 比较两个提交范围

比较 branch1 的提交范围与 branch2 的提交范围之间的差异:

git range-diff branch1 branch2

✅ 比较两个提交范围使用示例:

git range-diff feature/old-branch feature/new-branch

2. 比较两个提交系列

比较两个提交系列的差异,查看在特定时间段内的变更:

git range-diff <start-old>..<end-old> <start-new>..<end-new>

✅ 比较两个提交系列使用示例:

git range-diff HEAD~10..HEAD~5 HEAD~5..HEAD

这里,HEAD~10..HEAD~5 表示旧的提交范围,HEAD~5..HEAD 表示新的提交范围。


实战操作

比较两个补丁系列的变化:

git range-diff v1~3..v1 v2~4..v2

✅ 输出解析:

1:  5d6e7f8 = 2:  3a2b1c8 Add feature A
    (提交内容完全一致,只是位置变化)

2:  1a2b3c4 ! 3:  6c5b4a3 Rewrite feature B
    @@ -15,6 +15,7 @@
     -Old implementation
     +New implementation
     +Additional validation

-:  ------- > 1:  9f8e7d6 Add preliminary refactor
    (新增的预备重构提交)

3:  3e45f22 ! 4:  8f9e7d6 Add feature C with optimization
    @@ -22,3 +22,5 @@
     Feature C core
    +Optimized algorithm
    +Better error handling

Git 基本操作



评论区 0
发表评论