Git 描述没有提供预期的标签
Git describe does not provide expected tag
我有一个使用
的脚本
git describe --tags --abbrev=0
为了确定 repo 上的最新标签。
到目前为止一切顺利。
但是如果我必须在同一提交上添加标签,该命令会为我提供该提交的第一个可用标签,而不是最新的标签。
这是一个简单的例子
~ $ mkdir test_dir
~ $ cd test_dir/
test_dir $ git init
Initialized empty Git repository in /home/amaurin/test_dir/.git/
test_dir (unborn) $ touch coucou
test_dir (unborn ✱1) $ git add coucou
test_dir (unborn ✚1) $ git commit -m "Initial Commit"
[master (root-commit) 6972f53] Initial Commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 coucou
test_dir (master ✔) $ git tag 1
test_dir (master ✔) $ git describe --tags --abbrev=0
1
test_dir (master ✔) $ git tag 2
test_dir (master ✔) $ git tag
1
2
test_dir (master ✔) $ git describe --tags --abbrev=0
1
在最后一次通话中我期待的是 2,而不是 1,我不明白为什么...
有趣的是,我在 GIT 更新日志中看到类似的问题已经得到修复:
- "git describe" did not tie-break tags that point at the same commit
correctly; newer ones are preferred by paying attention to the
tagger date now.
https://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.7.1.1.txt
有趣的是我有最新版本的 git
$ git --version
git version 2.2.1
请帮忙:'-(
叹...叹...
您使用的是轻量级标签,因此没有标注器日期。
使用带注释的标签将为您提供一个记录标签日期的标签对象。 (带注释的标签必须有消息。)
git tag 1 -m 'Tag 1'
git tag 2 -m 'Tag 2'
一定要阅读 http://git-scm.com/book/en/v2/Git-Basics-Tagging 以了解有关 Git 中标签的更多信息。
我有一个使用
的脚本git describe --tags --abbrev=0
为了确定 repo 上的最新标签。 到目前为止一切顺利。
但是如果我必须在同一提交上添加标签,该命令会为我提供该提交的第一个可用标签,而不是最新的标签。
这是一个简单的例子
~ $ mkdir test_dir
~ $ cd test_dir/
test_dir $ git init
Initialized empty Git repository in /home/amaurin/test_dir/.git/
test_dir (unborn) $ touch coucou
test_dir (unborn ✱1) $ git add coucou
test_dir (unborn ✚1) $ git commit -m "Initial Commit"
[master (root-commit) 6972f53] Initial Commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 coucou
test_dir (master ✔) $ git tag 1
test_dir (master ✔) $ git describe --tags --abbrev=0
1
test_dir (master ✔) $ git tag 2
test_dir (master ✔) $ git tag
1
2
test_dir (master ✔) $ git describe --tags --abbrev=0
1
在最后一次通话中我期待的是 2,而不是 1,我不明白为什么...
有趣的是,我在 GIT 更新日志中看到类似的问题已经得到修复:
- "git describe" did not tie-break tags that point at the same commit correctly; newer ones are preferred by paying attention to the
tagger date now.
https://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.7.1.1.txt 有趣的是我有最新版本的 git
$ git --version
git version 2.2.1
请帮忙:'-(
叹...叹...
您使用的是轻量级标签,因此没有标注器日期。 使用带注释的标签将为您提供一个记录标签日期的标签对象。 (带注释的标签必须有消息。)
git tag 1 -m 'Tag 1'
git tag 2 -m 'Tag 2'
一定要阅读 http://git-scm.com/book/en/v2/Git-Basics-Tagging 以了解有关 Git 中标签的更多信息。