在从快照计算变更集时,Git并不总是正确选择大块边界。 git diff
有一个--diff-algorithm
选项,允许在这方面进行一些调整; git diff --minimal
有时会比单独git diff
提供更好的结果。
是否有办法为git add -p
(基本上以交互方式显示diff
帅哥)获得相同的优化变更集布局?它似乎不允许--diff-algorithm
选项。
答案 0 :(得分:6)
git -c diff.algorithm=minimal add -p
(需要Git版本1.8.4或更新版本。)
在最后一项研究之后将其从评论转移到答案:
自Git 1.8.4版以来,交互式add perl脚本(实现git add -p
)遵循git配置中的diff.algorithm
设置。这是commit 2cc0f53(2013年6月12日)John Keeping (johnkeeping
)的结果
(Junio C Hamano -- gitster
--于2013年6月27日commit 91fc159合并):
当以交互方式进行分段时,有时使用一个很有用 另一种差异算法,它将变化分成更多 逻辑方式。这是不可能的,因为管道命令 通过add调用 - 交互式忽略“diff.algorithm”配置 选项(因为他们应该)。
由于add - interactive是一个瓷器命令,它应该尊重这一点 配置变量。要做到这一点,让它读取diff.algorithm和 将其值传递给底层的diff-index和diff-files调用。
此时,不要向“git add”,“git reset”或“git”添加选项 checkout“(所有这些都可以调用git-add - interactive)。如果是用户 想要覆盖他们可以使用的命令行上的值:
git -c diff.algorithm=$ALGO ...
(commit e5c2909修正案(2013年6月23日)Junio C Hamano (gitster
);修正案也在1.8.4。)