Git
diff
有很棒的 --color-moved
选项。所以我看到 Git 可以检测到行何时被移动,但实际上并没有被删除。
我需要检测已删除但未删除的行。简单地 grep
git diff
的输出以查找以 -
开头的行不会有帮助,因为这也会捕获移动的行。我们可以吗:
git diff
仅显示删除的行,而不显示移动的行?git diff --color-moved
为移动的行使用不同的前导字符,以便我们可以在输出中 grep 查找前导 -
来查找已删除的行?git diff --color-moved
的输出(默认)红线,因为这些是已删除的行?有点脆弱,但是:
git diff --color-moved=plain --color=always |
perl -pe 's/^\e\[31m-/!/; s/\e\[[0-9;]*m//g'