Par*_*ngh 2 git git-tag git-describe
我用标签"Release_V1.0.0.4"标记了我的存储库.但这是我从"git describe"和"git describe origin"得到的.
[root pds_series] #git describe
Release_V1.0.0.2-22-g0859de9
[root pds_series] #git describe origin
Release_V1.0.0.2-18-gce2b24c
使用"git describe --all"和"git describe --tags",我得到了正确的标签.
[root pds_series] #git describe --all
标签/ Release_v1.0.0.4
[root pds_series] #git describe --tags
Release_v1.0.0.4
此外,通过以下命令,我得到了正确的标签.
[root pds_series] #git log --pretty = format:'%ad%h%d' - shared-commit --date = short -1
2012-11-15 0859de9(HEAD,Release_v1.0.0.4,master)
有谁知道这背后的原因?我该如何解决这个问题?
您可能使用了"轻量级"标签.默认情况下,git describe只使用标记对象来描述提交,而使用--tags它会使用任何引用,refs/tags即使它们直接指向提交而不是标记对象.
要创建您必须使用一个标签对象-a(注释)或-s或-u(签字)选项git tag,否则一个轻量级的标签将被创建(笔直地指向一个提交的引用).
要查看两个标记之间的区别,请尝试:
git cat-file -t Release_V1.0.0.2
Run Code Online (Sandbox Code Playgroud)
和:
git cat-file -t Release_v1.0.0.4
Run Code Online (Sandbox Code Playgroud)
On可能会说"tag"而另一个会说"commit".
要解决此问题,您可以使用-f和(例如)重新创建标记-a.
git tag -f -a Release_v1.0.0.4 Release_v1.0.0.4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |