自定义对象和引用的dos和don是什么?

时间:2017-02-09 14:52:38

标签: git git-gc git-fsck git-hash git-refspec

假设我想写一个 small 帮助器,它允许以一种可以通过refs传播到克隆的方式将一些元数据附加到存储库。简单示例(一个克隆原型,甚至不会将注释附加到任何其他git对象):

hash=$(echo "Just a comment" | git hash-object -w --stdin)
git rev-update refs/comments/just $hash

即。我使用哈希blob创建hash并将其称为refs/comments/just,因此git fsck --unreachable不会抱怨它,而git gc将永远prune对象。

但这当然是一个非常简单的例子,实际上我对更复杂的功能感兴趣。在那里,我的问题是,我能合法地"合法地"做什么,我应该完全避免做什么?

例如,SE上的几篇帖子是关于用户必须从重复的tree条目中恢复的。所以一个人不要"因此,不要创建一个带有重复条目的tree"。另一个例子是" 确保您的对象可以访问,因此git prune不会删除它们"。还有什么?

我可以创建自定义对象类型吗?使用"无效"树中斑点的文件模式?我在哪里可以找到概述?或者我应该手动检查git-fsck的来源以查看错误的构成(以及哪些错误可以忽略)?

0 个答案:

没有答案