git – order commits introducing “TODO”s by date

2019-05-04 18:32发布

I want to find commits that introduced added a "TODO" or "FIXME" comment and order them by date.

I know that git log -G'TODO|FIXME' will show me commits that contain either comment and I could do something like

git log --format='%ci' -G'TODO|FIXME' | cut -d' ' -f 1

But this will not respect that it should only be commits introducing such comments.

Does anyone know how I can find only commits introducing such comments and order them by date? If the actual SHA-1 was included in that list, that would be even more awesome.

标签: git git-log todo
2条回答
劳资没心,怎么记你
2楼-- · 2019-05-04 18:43

This should get you closer. It isn't clear what you mean by "order them by date". Personally I would probably ignore the actual dates and do reverse topo order.

Note - This will match commits that introduce or remove instances of the string. If you only want commits that introduce you might need to script something.

git log --format='%H' --reverse --date-order -G'TODO|FIXME'

查看更多
Melony?
3楼-- · 2019-05-04 18:56

not entirely what you want but will do a lot for you

git log -S TODO
查看更多
登录 后发表回答