如何在远程存储库中获取提交哈希的git标记?
通过执行以下操作,可以获取指向本地存储库中特定提交的标记:如何在远程存储库中获取提交哈希的git标记?,git,Git,通过执行以下操作,可以获取指向本地存储库中特定提交的标记: git tag --points-at <commit-hash> 或者这个: git describe --exact-match <commit-hash> 远程存储库也可以这样做,甚至不克隆存储库 git ls-remote -t <remote> | grep <commit-hash> git ls remote列出远程存储库中的所有引用及其sha1值-t仅限于标签。如果您
git tag --points-at <commit-hash>
或者这个:
git describe --exact-match <commit-hash>
远程存储库也可以这样做,甚至不克隆存储库
git ls-remote -t <remote> | grep <commit-hash>
git ls remote列出远程存储库中的所有引用及其sha1值-t仅限于标签。如果您在本地git存储库下,并且远程是源代码,则可以省略。如果指定like,则可以在任何位置运行该命令https://github.com/foo/bar.git. -如果命令中存在,则t必须在前面。更多信息请访问
更新:
不,在git ls remote上没有类似的点。如果知道标记名,git ls remote将返回sha和标记,但不可能从sha返回标记名
有两种类型的标记。一个是轻量级标记,另一个是带注释的标记。former只是一个ref,后者是一个git对象。Git有四种对象,commit、tag、tree和blob
如果v1.0是一个轻量级标记,那么v1.0和v1.0^{}是相同的
如果v1.0是一个指定的标记,那么v1.0是一个标记对象,v1.0^{}是它所引用的提交。作为一个指定标记,v1.0和v1.0^{}对于许多git命令是相同的,例如git log、git show、git diff,当它们被解析为commit或tree时。在GitLogV1.0中,v1.0是一个提交工具。作为提交,v1.0和v1.0^{}引用相同的提交。因此,我们从git log v1.0和git log v1.0^{}获得相同的输出。对于其他git命令,如git rev parse,它们是不同的。在GitRevParse-Tv1.0中,v1.0是一个标记对象。在git rev parse-t v1.0^{}中,v1.0^{}是一个提交对象
git ls remote列出远程存储库中的所有引用及其sha1值-t仅限于标签。如果您在本地git存储库下,并且远程是源代码,则可以省略。如果指定like,则可以在任何位置运行该命令https://github.com/foo/bar.git. -如果命令中存在,则t必须在前面。更多信息请访问
更新:
不,在git ls remote上没有类似的点。如果知道标记名,git ls remote将返回sha和标记,但不可能从sha返回标记名
有两种类型的标记。一个是轻量级标记,另一个是带注释的标记。former只是一个ref,后者是一个git对象。Git有四种对象,commit、tag、tree和blob
如果v1.0是一个轻量级标记,那么v1.0和v1.0^{}是相同的
如果v1.0是一个指定的标记,那么v1.0是一个标记对象,v1.0^{}是它所引用的提交。作为一个指定标记,v1.0和v1.0^{}对于许多git命令是相同的,例如git log、git show、git diff,当它们被解析为commit或tree时。在GitLogV1.0中,v1.0是一个提交工具。作为提交,v1.0和v1.0^{}引用相同的提交。因此,我们从git log v1.0和git log v1.0^{}获得相同的输出。对于其他git命令,如git rev parse,它们是不同的。在GitRevParse-Tv1.0中,v1.0是一个标记对象。在git rev parse-t v1.0^{}中,v1.0^{}是一个提交对象。谢谢。但是,我必须以某种方式解析结果。有没有一种方法可以像使用{git tag-points at}一样只获取标记名。另外,v1.0和v1.1 ^{}之间有什么区别?谢谢。但是,我必须以某种方式解析结果。有没有一种方法可以像使用{git tag-points at}一样只获取标记名。另外,v1.0和v1.1 ^{}之间有什么区别?