Хорошие способы управления журналом изменений с помощью git?

Я уже некоторое время использую Git, и Недавно я начал использовать его для маркировки своих выпусков, чтобы мне было легче отслеживать изменения и видеть, какую версию использует каждый из наших клиентов (к сожалению, в настоящее время код требует, чтобы у каждого клиента была своя копия сайта PHP; Я изменяю это, но это медленно.)

В любом случае, мы начинаем набирать обороты, я подумал, что было бы очень хорошо иметь возможность показать людям, что изменилось с момента последнего релиза. Проблема в том, что я не веду журнал изменений, потому что не знаю, как это сделать. Для этого конкретного времени Я могу пробежаться по журналу и создать его вручную, но это очень быстро утомит.

Я попробовал поискать «git changelog» и «git manage changelog», но я не нашел ничего такого, что действительно говорило бы о рабочем процессе кода. изменения и как это совпадает с журналом изменений. В настоящее время мы следим за процессом разработки Рейна Хенрихса , и мне бы хотелось что-то, что сопровождало это.

Есть ли стандартный подход, который мне не хватает, или это область, в которой каждый делает свое дело? вещь?

Большое спасибо за ваши комментарии / ответы!

202
задан Topher Fangio 19 August 2010 в 04:43
поделиться

1 ответ

Вы можете использовать какой-нибудь вариант git log, чтобы помочь вам:

git log --pretty=%s                 # only print the subject

Если вы красиво назовёте свои ветки, так, чтобы слияние с master отображалось как что-то вроде "Merged branch feature-foobar", вы можете сократить время, показывая только это сообщение, а не все маленькие коммиты, которые вы слили, и которые вместе образуют функцию:

git log --pretty=%s --first-parent  # only follow first parent of merges

Возможно, вы сможете дополнить это собственным скриптом, который может делать такие вещи, как удаление битов "Merged branch", нормализация форматирования и т. д. В какой-то момент, конечно, вам придется написать его самостоятельно.

Тогда вы могли бы создавать новый раздел для журнала изменений раз в версию:

git log [opts] vX.X.X..vX.X.Y | helper-script > changelogs/X.X.Y

и фиксировать его при фиксации релиза версии.

Если ваша проблема в том, что темы этих коммитов не похожи на то, что вы хотели бы поместить в журнал изменений, у вас есть два варианта: продолжать делать всё вручную (и стараться делать это более регулярно, а не играть в догонялки в момент релиза), или исправить свой стиль сообщений о коммитах. Одним из вариантов, если темы не собираются делать это за вас, было бы размещение строк вроде "change: added feature foobar" в теле ваших сообщений о фиксации, чтобы позже вы могли сделать что-то вроде git log --pretty=%B | grep ^change:, чтобы взять только эти супер-важные части сообщений.

Я не совсем уверен, насколько больше, чем это, git может помочь вам в создании журналов изменений. Может быть, я неправильно понял, что вы имеете в виду под "управлять"?

.
58
ответ дан 23 November 2019 в 05:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: