在 Git 存储库中存储针对单个文件的自定义元数据

use*_*754 5 git metadata git-notes

我正在使用 Git 存储库并希望定义自定义属性以应用于存储库中的每个文件。然后可以在每次提交时更新这些属性。理想情况下,属性应该易于搜索并最终导出。

在 Git 中有一种简单的方法可以做到这一点吗?我已经查看了 Git 笔记,但据我所知,这是每个提交而不是每个文件。

谢谢。

161*_*903 7

事实上你可以使用git Notes

添加、删除或读取附加到对象的注释,而不接触对象本身。

对象也包括单个文件。正如此答案中所解释的,您将列出当前 HEAD 中的文件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>

明显的缺点是,当您更改文件内容时,哈希值会发生变化。您必须编写自己的脚本来遍历文件历史记录并打印所有注释。


max*_*630 3

恐怕没有内置功能。

您可以将具有自定义名称的属性放入.gitattributes,但与仅将数据以更成熟的格式(如 json 或 xml)放入一个或多个文件并将这些文件与项目一起提交相比,可能不会带来太多好处。