Как напечатать все комментарии TODO, которые я когда-либо добавлял или редактировал во время любого коммита git

Как я могу перечислить все комментарии TODO, которые я когда-либо добавлял или редактировал во всех коммитах проекта с версией git? Я не хочу видеть комментарии других TODO.

Вывод должен напечатать все строки, на самом деле содержащие мои комментарии TODO:

\\TODO: This should be changed to something else
\\TODO I guess the bug hides here
\\ TODO I need to do something here

Я не хочу просто перечислять коммиты как git log -S TODO делает.

1 ответ

Решение

Если этот TODO находится в файлах (в отличие от сообщения фиксации), вы можете сделать:

git log -p --author=you -S TODO | grep "\+.*TODO"

См. Больше в разделе " Как выполнить поиск (поиск) зафиксированного кода в истории git?".
-p: для просмотра содержимого в виде патча, который позволяет выполнять поиск по строке, включая TODO.

Тем не менее, это перечисляет все TODO когда-либо написанные комментарии, даже те, которые уже разрешены и, таким образом, снова удалены из кода.

Для получения более полного ответа см. " Как вывести список всех моих сообщений TODO в текущей базе управляемых кодов git":

git grep -l TODO | xargs -n1 git blame -f -n -w | grep "Your name" | grep TODO | sed "s/.\{9\}//" | sed "s/(.*)[[:space:]]*//"

Другие вопросы по тегам