Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何获取提交所属的标记?_Git_Github Api - Fatal编程技术网

Git 如何获取提交所属的标记?

Git 如何获取提交所属的标记?,git,github-api,Git,Github Api,我有一个和。我可以从web UI中看到很好的效果,但它似乎没有通过API公开,也没有通过或(从我所知道的情况来看,这似乎只处理了另一种方式:注释标记提交)。刮除标签似乎是一个几乎可行的解决办法,只是随着存储库中标签的增多,它会导致越来越多的流量。还有别的办法吗?git ls remotegit://github.com/antirez/redis.git |格雷普 git ls-remote git://github.com/antirez/redis.git | grep <SHA>

我有一个和。我可以从web UI中看到很好的效果,但它似乎没有通过API公开,也没有通过或(从我所知道的情况来看,这似乎只处理了另一种方式:注释标记提交)。刮除标签似乎是一个几乎可行的解决办法,只是随着存储库中标签的增多,它会导致越来越多的流量。还有别的办法吗?

git ls remotegit://github.com/antirez/redis.git |格雷普
git ls-remote git://github.com/antirez/redis.git | grep <SHA>

git ls remotegit://github.com/antirez/redis.git |格雷普

问题是,只有标记知道其提交,而提交本身不知道哪些标记指向该提交。因此,唯一的机会是迭代所有标记并检查它们是否指向所讨论的提交

在本地存储库中,您可以使用以下内容:

git log -1 --decorate $SHA1
对于远程存储库,您可能必须使用
gitlsremote
获取所有引用

如果您想使用API,可能是相应的等价物。

尤其是
GET/repos/:owner/:repo/git/refs/tags
将列出所有标记。

问题是,只有标记知道其提交,而提交本身不知道哪些标记指向该提交。因此,唯一的机会是迭代所有标记并检查它们是否指向所讨论的提交

在本地存储库中,您可以使用以下内容:

git log -1 --decorate $SHA1
对于远程存储库,您可能必须使用
gitlsremote
获取所有引用

如果您想使用API,可能是相应的等价物。

特别是
GET/repos/:owner/:repo/git/refs/tags
将列出您所有的标签。

您想解决的问题是什么?@michas获取指向某个提交(我已经知道其哈希)的标签列表,而无需删除repo中的所有标签,正如标题所说,你想解决的问题是什么?@michas获得了一个指向某个提交的标签列表(我已经知道该列表的散列),而没有像标题所说的那样删除repo中的所有标签