Обновление После комментариев:
Кажется, вам действительно помогает гораздо более простой
git log --oneline | egrep -ivw 'closed|#[0123456789]+'
отфильтровывает только общие шаблоны из сообщений коммита. Если вы хотели подсчитать это
git log --oneline | egrep -ivwc 'closed|#[0123456789]+'
Вы можете добавить исходные флаги ответа, чтобы уменьшить вывод git log
, например,
git log --oneline --after=2011-01-01 --until=today | egrep -ivwc 'closed|#[0123456789]+'
Оригинальный ответ:
Приходите снова. Этот вопрос не разбирается. "на которые нет ссылок в их статусе" Какой статус? Коммит обычно не имеет его. Вы используете коммит заметки?
У меня сложилось впечатление, что вы хотите найти определенную информацию, которая была не упомянутой в сообщениях git commit в течение определенного периода времени? Если да, приведите примеры того, какой тип сообщений фиксации вы используете и как хранится список «идентификаторов отношений», которые нужно искать. E.g.:
from="3 months ago"
until="1 week ago"
lookforids=( '#bug3' '#update4' '#featureY' )
for lookfor in "${lookforids[@]}";
do
commitcount=$(git log --no-merges --oneline --after="$from" --until="$until" --all -i --grep="$lookfor" | wc -l)
if [ "$commitcount" -le 1 ]; then echo "Not referenced: $lookfor"; fi
done
Конечно, вы должны смешивать и подбирать в соответствии с вашими потребностями, изменяя вывод по своему вкусу. from
/ until
, конечно, может быть литералом абсолютной даты, если хотите.