在推送Git提交之前,我通常想要查看我在代码中添加的所有TODO。我尝试了几种方法,但我还没有找到一种很好的方法。
E.g。使用以下命令,我可以看到在上次提交中添加(和删除)的所有TODO:
git diff HEAD^ | grep "TODO"
然而,在此输出中,我不知道哪些文件包含更改,因此我必须猜测或搜索相应的文件。使用以下命令,我看到所有带有" TODO"的文件。改变,但我没有看到实际的TODO:
git diff HEAD^ --name-only -G "TODO"
所以我的问题是我怎样才能看到diff行和包含差异的文件名?是吗?可以使git diff
为每个带有文件名的diff行添加前缀?然后grep' ed行将提供我需要的所有信息。
答案 0 :(得分:2)
以下是接近我原来想要的:
git diff HEAD^ --name-only -G "TODO" | xargs git grep "TODO" --
这将打印上次提交中触及的文件中的所有TODO - 而不仅仅是已添加的TODO。
但这也非常有用。通过这种方式,我还可以检查是否可能有其他TODO现在可以删除。