Поиск TODO и FIXME в ветке
Вот вы накалякали PR, пришла стадия рефакторинга — стоит пройтись по всем мелким замечаниям и поправить их. Но по умолчанию в какой-нибудь Intellij будут показываться все TODO, а не только ваши. Конечно, ваша кодовая база хорошая, и их будет не очень много, да? Падме.жпг В итоге надо как-то отфильтровать только то, что относится к вашей ветке.
Теоретически эту проблему могут решить области поиска, однако динамические области в IntelliJ пока не поддерживаются. Есть плагин, который вроде работает, но подписка стоит аж 1 доллар в месяц — непозволительные расходы!
Попробуем сделать это через консоль. Читать документацию git
— сомнительная затея: как и пользовательский интерфейс git
, она тоже любит “тщательно выбирать друзей”. Нам нужны все изменения в ветке:
git diff --merge-base master
Эта команда выдаст патч на все закоммиченное и добавленное в git
. Но есть еще и недобавленные файлы:
git ls-files --others --exclude-standard
Объединяем это все через cat
и grep
’аем. Ну и чтобы не запоминать колбасу, добавляем функцию в ``~/.bash_aliases` (или где вы там храните своё):
function branch_todo(){
cat <(git ls-files --others --exclude-standard -z | xargs -0 cat) \
<(git diff --merge-base master) \
| grep -i -E 'TODO|FIXME|FIMXE'
}