是否有用于创建标记对象的管道命令?

时间:2016-09-25 09:49:19

标签: git

对于每个对象类型,都有一个相关的管道命令:对于commit objectcommit-tree s blob objecthash-object s tree object write-tree {1}}。

是否有一个管道命令允许只在tag object内插入Object Database,而无需在refs/tags dicrectory,id est中创建文件而不使用git tag?< / p>

2 个答案:

答案 0 :(得分:1)

它是git mktag,非常原始。

答案 1 :(得分:0)

  

是否有一个管道命令允许只在对象数据库中插入标记对象而不在refs / tags目录中创建文件?

没有

要添加到torek&#39; answergit mktag已于2005年4月的Git v0.99 commit ec4465a中引入:

  

从标准输入中读取标记内容并创建标记对象   输入必须是格式良好的标记对象。

     

三行&#34;对象<sha1>&#34; +&#34;输入<typename>&#34; +&#34;标记<tagname>&#34;,然后是一些git本身并不关心的自由格式签名,但可以通过gpg或类似方式进行验证。

虽然它没有在Object数据库中插入任何内容。它(mktag.c)由git tag script at the time使用:

object=$(git-mktag < .tmp-tag)
mkdir -p "$GIT_DIR/refs/tags"
echo $object > "$GIT_DIR/refs/tags/$name"

mktag的第四行于2006年4月的Git 1.4.2-rc3中引入,commit 446c6fa
创建有效标记的位置如下:

git-mktag <tag.sig >.git/refs/tags/mytag