Как мне рассчитать «время выполнения» для ветвей функций в репозитории git?

#git

#git

Вопрос:

Наш рабочий процесс git прост:

  • у каждой функции есть своя ветвь
  • после завершения работы над функцией ветвь объединяется с master, уничтожая все коммиты (через «Запросы на извлечение» на GitHub)
  • затем мы создаем «Релиз» (еще одна вещь на GitHub, в основном тег git с определенным именем, который запускает развертывание) для развертывания функции. Иногда релизы выполняются не сразу, поэтому несколько «функций» (сжатых коммитов) выпускаются вместе под одним тегом.

Теперь я хочу найти «время выполнения»: время между началом работы над функцией (создание ветки или первый коммит в ветке) и моментом доставки функции (создание тега).).

Как я могу этого добиться?

Спасибо.

Комментарии:

1. Это действительно вопрос Git? Мне кажется, что вы ищете какое-то программное обеспечение для временных часов / проектов, например, Pivotal Tracker.

2. При создании ветки выполните команду pass --edit-description , которая открывает текстовый редактор, чтобы вы могли объяснить, для чего используется ветка. Может быть, указать там дату и время создания ветки?

3. Может быть, проверьте git reflog , чтобы узнать, хранит ли он дату создания? Однако я не знаю, все ли записи reflog загружаются.

Ответ №1:

Посмотрите здесь: https://github.com/Praqma/git-metrics/blob/master/README.md Мы использовали этот инструмент для решения аналогичной задачи. Инструмент предоставляет время выполнения для каждого коммита. Вы должны отфильтровать самый старый для каждого тега. Не уверен, сможете ли вы найти ветку pr при совместном выпуске, но это должно значительно приблизить вас к вашему ответу.