Git是否提供了任何机制来证明提交可以移动,但不会修改文件中的行?我经常使用-w来确定在缩进发生变化的代码段中是否进行了任何更改。如果一段代码是垂直移动的,而不是横向移动的,那么人们可以做什么来突出显示移动的部分中的更改吗?
发布于 2020-07-19 07:20:38
不,Git没有提供证明这一点的方法。解析diff输出并验证删除行和添加行的组是相同的组应该不会太难。这需要一些脚本,但这是可行的。This project可能会很有趣。
如果你想在视觉上验证这一点,你可以使用--color-moved,它将以不同于未移动线条的添加或删除的颜色对移动的块进行着色。
发布于 2020-07-19 08:17:30
我不认为Git提供了任何直接的方法来做到这一点,但如果对文件的新旧版本进行排序产生相同的结果,这等同于只由移动行组成的更改。
当然,这不会区分交换两块行和完全打乱文件。
强调这些变化是另一回事。我几年前问过的这个问题可能是相关的:
Is there a diff-like algorithm that handles moving block of lines?
https://stackoverflow.com/questions/62972103
复制相似问题