[英]How to get better hunks in git add interactive patch mode?
我经常使用git add -p somefile
以交互方式仅git add -p somefile
给定文件中的部分。 但是,如果文件有更复杂的更改,则默认差异会出错,交互式补丁命令提供的大块也会出错。
git diff
命令有许多选项来改进或自定义 diff 输出,包括非常有用的--anchored=<text>
,但是有什么方法可以从git add -p
获得更好的大块头吗?
您可以尝试以下操作:
-diff-algorithm ={耐心|最小|直方图|迈尔斯}
选择差异算法。 变体如下:
default , myers基本的贪心差异算法。 目前,这是默认设置。
最少的花费额外的时间来确保尽可能小的差异产生。
耐心在生成补丁时使用“耐心差异”算法。
直方图该算法将耐心算法扩展为“支持低出现的常见元素”。
修改大块的大小本身
设置这个diff.indentHeuristic
参数
git -c diff.indentHeuristic=true add -p
从 git 文档,
diff.indent启发式
将此选项设置为 true 以启用实验性启发式方法,这些启发式方法可以移动差异块边界以使补丁更易于阅读。
然而,基于此
使用 Git 2.25(2020 年第一季度),您甚至不必再指定 --indent-heuristic(因为它现在是很长一段时间的默认设置)。
,此参数默认设置(为 true)。 因此,如果有帮助,请尝试将其设置为 false。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.