将自定义元数据存储在Git存储库

时间:2017-07-18 01:24:45

标签: git metadata git-notes

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

在Git中有一个简单的方法吗?我已经查看了Git的注释,但据我所知,每次提交不是每个文件。

感谢。

2 个答案:

答案 0 :(得分:3)

我担心没有内置功能。<​​/ p>

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

答案 1 :(得分:3)

您实际上可以使用git notes

  

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

对象也包括单个文件。如this answer中所述,您可以使用git ls-tree HEAD列出当前HEAD中的文件,然后添加带git notes add -m "Some text, key-value pairs maybe?" <hash of the file>的注释。要稍后查看备注,请使用git notes show <hash of the file>

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