Я нахожусь в положении, когда мне хотелось бы, чтобы при экспорте подкаталога моего git-репозитория полный хэш архивируемого коммита вставлялся в данный файл.Причина этого заключается в том, что я отправляю этот код (подкаталог хранилища, слишком большой, чтобы его удобно было регулярно экспортировать), моему клиенту, который затем создает его (вне среды git), и мы хотим иметь возможность узнать из журналовкакая версия кода сгенерировала его, чтобы помочь отладке.
Решение выглядит так, как будто нужно добавить файл в .gitattributes
с атрибутом export-subst
и заменить маркер %H
наимеет, когда git archive
выполняется.Однако я не вижу такого поведения.
Я использовал страницу в книге Pro Git в качестве справочной информации (см. здесь ), но пытаюсь адаптировать ее для использования.с подкаталогом, а не с корнем репозитория.
Каталог, который я пытаюсь экспортировать, называется iDevice
.Я создал файл в этой папке с именем hash_test
, который содержит текст Last commit date: $Format:%cd$
.
Когда я запускаю git archive --format=tar HEAD:iDevice/ | gzip > test.tar.gz
, файл не изменяется.Когда я запускаю git archive --format=tar HEAD | gzip > test.tar.gz
, файл изменяется .
Я пытался сохранить файл .gitattributes в корне моего каталога git, а также в корневом и подкаталогах.Я попытался сослаться на файл как iDevice/hash_test
и hash_test
в файле .gitattributes (так как я думал, что это может быть что-то похожее на ошибку, которую я видел в списке на kerneltrap.org, где использование --prefix = confused команды archive- URL-адрес заканчивается / mailarchive / git / 2008/4/8/1378004, на который я бы правильно сослался, но у меня нет репутации, чтобы публиковать дополнительные ссылки ...).Однако ничто из этого не помогло.
Будем благодарны за любые предложения!