git log --all --since="1 year ago" --author-date-order --pretty=format:'%at %s' > year.log
может быть основой для того, что вам нужно, для настройки в случае необходимости.
О части "ветка": короче, вы не можете.
Немного точнее, ветви - это просто указатели для отслеживания полезных мест в дереве репо, но они в конечном счете одноразовые, в то время как коммиты не , они - реальное дело вашего дерева истории.
Когда совершается коммит, в его создание входит много информации, но ветви вообще не являются частью этого. Что касается git, так это вопрос «Является ли этот коммит достижимым из этой ветви?».
Кстати, вы можете фиксировать с отключенным состоянием HEAD. Если вы делаете, к какой ветви этот коммит «принадлежит»? И если вы продолжаете коммитить и позже создаете ветку на кончике своей серии коммитов, как git может задним числом записать эту информацию о ветке в неизменяемые сейчас коммиты, которые теперь «включены» в эту ветку?