Сохранение пользовательских метаданных для отдельных файлов в репозитории Git
Я работаю с Git-репозиторием и хотел бы определить пользовательские свойства, которые будут применяться к каждому файлу в репозитории. Эти свойства могут быть обновлены при каждой фиксации. В идеале свойства должны быть легко доступны для поиска и в конечном итоге экспортироваться.
Есть ли простой способ сделать это в Git? Я изучил заметки Git, но, насколько я могу судить, это за коммит, а не за файл.
Благодарю.
2 ответа
Вы можете использовать git notes:
Добавляет, удаляет или читает примечания, прикрепленные к объектам, не касаясь самих объектов.
Объекты также содержат отдельные файлы. Как объясняется в этом ответе, вы бы перечислили файлы в вашем текущем заголовке с git ls-tree HEAD
, а затем добавить заметку с git notes add -m "Some text, key-value pairs maybe?" <hash of the file>
, Чтобы просмотреть заметки позже, используйте git notes show <hash of the file>
,
Очевидным недостатком является то, что при изменении содержимого файла изменяется хэш. Вам придется написать свои собственные сценарии, чтобы просмотреть историю файлов и распечатать все заметки.
Боюсь, что нет встроенной функциональности.
Вы можете поместить атрибуты с пользовательскими именами в .gitattributes, но, вероятно, это не даст большого преимущества по сравнению с простым размещением данных в одном или нескольких файлах в более зрелом формате, таких как json или xml, и фиксацией этих файлов вместе с вашим проектом.