jot*_*tik 4 git diff patch interactive git-add
我经常使用git add -p somefile交互式暂存给定文件中的部分。但是,如果文件有更复杂的更改,则默认差异会出错,交互式补丁命令提供的大块也会出错。
该git diff命令有许多选项可以改进或自定义 diff 输出,包括非常有用的--anchored=<text>,但是有什么方法可以从中获得更好的大块头git add -p吗?
您可以尝试以下操作:
尝试不同的差异算法,将其作为独立配置参数传递给这里git add -p提到的
git -c diff.algorithm=<algo-name> add -p
Run Code Online (Sandbox Code Playgroud)
根据 git docs可用的差异算法,
-diff-algorithm ={耐心|最小|直方图|迈尔斯}
选择差异算法。变体如下:
default , myers基本的贪心差异算法。目前,这是默认设置。
最少的花费额外的时间来确保尽可能小的差异产生。
耐心在生成补丁时使用“耐心差异”算法。
直方图该算法将耐心算法扩展为“支持低出现的常见元素”。
修改大块的大小本身
设置这个diff.indentHeuristic参数
git -c diff.indentHeuristic=true add -p
Run Code Online (Sandbox Code Playgroud)
从 git文档,
diff.indentHeuristic
将此选项设置为 true 以启用实验性启发式方法,这些启发式方法可以移动差异块边界以使补丁更易于阅读。
然而,基于此
使用 Git 2.25(2020 年第一季度),您甚至不必再指定 --indent-heuristic(因为它现在是很长一段时间的默认设置)。
,此参数默认设置(为 true)。因此,如果有帮助,请尝试将其设置为 false。
| 归档时间: |
|
| 查看次数: |
424 次 |
| 最近记录: |