如何在 git add 交互式补丁模式中获得更好的帅哥?

jot*_*tik 4 git diff patch interactive git-add

我经常使用git add -p somefile交互式暂存给定文件中的部分。但是,如果文件有更复杂的更改,则默认差异会出错,交互式补丁命令提供的大块也会出错。

该git diff命令有许多选项可以改进或自定义 diff 输出,包括非常有用的--anchored=<text>,但是有什么方法可以从中获得更好的大块头git add -p吗?

Sau*_*ari 7

您可以尝试以下操作:

-diff-algorithm ={耐心|最小|直方图|迈尔斯}

选择差异算法。变体如下:

default , myers基本的贪心差异算法。目前,这是默认设置。

最少的花费额外的时间来确保尽可能小的差异产生。

耐心在生成补丁时使用“耐心差异”算法。

直方图该算法将耐心算法扩展为“支持低出现的常见元素”。

  • 使用git-gui手动选择要提交的行/块,如此处和此处所述(请参阅下面工具的屏幕截图)

git-gui

从 git文档,

diff.indentHeuristic
将此选项设置为 true 以启用实验性启发式方法,这些启发式方法可以移动差异块边界以使补丁更易于阅读。

然而,基于此

使用 Git 2.25(2020 年第一季度),您甚至不必再指定 --indent-heuristic(因为它现在是很长一段时间的默认设置)。

,此参数默认设置(为 true)。因此,如果有帮助,请尝试将其设置为 false。


归档时间:

查看次数:

424 次

最近记录:

5 年 前