Может ли ловушка git pre-commit добавить файл в репозиторий? - PullRequest
3 голосов
/ 29 января 2011

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

Можно ли написать хук перед фиксацией, который будет вызывать скрипт и добавить файл в репозиторий, в результате сохраняя текстовую версию журнала с информацией о текущем коммите внутри него?

Я новичок в git hooks и понятия не имею, как это будет работать, если это вообще возможно. Я ценю помощь!

Ответы [ 2 ]

3 голосов
/ 29 января 2011

Краткий ответ: нет.Журнал содержит SHA1 коммита, который зависит от содержимого коммита.Если вы измените журнал, вы измените коммит, и он все равно будет недействительным.

Интересно, почему вы пытаетесь это сделать, действительно.В хранилище git log так же хорошо, как cat saved-git-log.Если вы хотите использовать этот список изменений для выпущенных версий, просто создайте его как часть процесса сборки / развертывания, например, примерно так:

tarname=my-project-$(git describe HEAD).tar
git log > changelog.txt
git archive --format=tar HEAD > $tarname
tar -Af $tarname changelot.txt
gzip $tarname
1 голос
/ 27 июля 2012

Я просто извлекаю полные логи из RSS-канала на Bitbucket / Github. Кажется, это был бы самый простой способ добиться того, что вы просите, особенно при использовании Heroku.

...