GIT, как ввести информацию о фиксации внутри файла, чтобы во время / после нажатия на удаленный?
Нам была поставлена задача ввести информацию о коммите, такую как коммиттер, дата коммита и имя автора, внутрь зафиксированного файла.
После некоторого поиска и этой темы Как я могу указать идентификатор фиксации Git в файле при фиксации? мы добились внедрения в файл с помощью расширения ключевых слов и заполнителей формата. Однако информация была введена либо после оформления заказа, либо после архивации.
Можно ли вставить информацию о фиксации в файл во время или после push, чтобы удаленный файл содержал эту информацию о фиксации? Мы понимаем, что это может показаться ненужной работой, но мы хотели бы знать о возможности выполнения этого требования.
1 ответ
Вы не можете этого сделать, потому что идентификатор фиксации на самом деле является хешем SHA-1, вычисленным из всего снимка репозитория (всех файлов), включая также файл, в который вы хотите записать этот идентификатор фиксации (который изменит файл и, следовательно, также идентификатор фиксации).
Кроме того, хранение любой информации о фиксации в файле является избыточным с тем, что git
уже есть и не имеет особого смысла. Было бы полезно, если бы вы немного объяснили в своем вопросе, почему вы хотите это сделать.
Если вы просто хотите, чтобы эта информация была видна где-то (например, чтобы закрепить определенный развертываемый артефакт в фиксации в исходном репозитории), вам действительно не нужно его фиксировать, а просто вызовите git и запросите текущие свойства фиксации HEAD и встроите их в бинарный артефакт.