推送的标签在Bitbucket上没有出现。

问题描述 投票:1回答:1

我已经用命令创建了一个新的标签git tag -a v1.0 -m "Production Release".

并将标签推送给远程 git push origin v1.0

成功了,我得到了下面的回复。

Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 662 bytes | 662.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://bitbucket.org/project/repo.git
 * [new tag]         v1.0 -> v1.0

但是当我浏览Bitbucket的提交时,我仍然看不到这个标签,它应该显示在最后一次提交的旁边。

git bitbucket
1个回答
1
投票

当你设置好标签后,请检查你的 git 状态:你可能已经处于 分离式头部模式.

这就可以解释为什么最后一次提交的 (相对于分离的HEAD中的任何提交)将不会收到标签。


OP jinil-cs 补充 在评论中:

如你所言。git status 给我看

Your branch is ahead of 'origin/master' by 2 commits. 

这不是脱离HEAD的情况,但指出你没有看到沿着分支HEAD的标签的另一个原因:你还没有推动你的分支。

我已经推了 git reset --hard origin/master 因为我不需要我的本地修改。

好吧,这有点危险,因为其他人可能会让他们的最后一次提交变得不可见(还有在 git reflog),但在你的情况下,那就可以了。

然后我删除了远程和本地标签。

git push --delete origin v1.0 
  git tag -d v1.0 

创建了同样的标签,又推送了一次!


我在 2013年4月,Git 1.8.3 push 选项 --follow-tags的建议。恶魔画家这确实会导致非推送的提交。 新的标签,使它对远程分支 HEAD 可见。

但由于您不需要推送本地提交,所以您的解决方案仍然有效。

再次强调:用一个新的标签来检查本地的情况,仍然是了解差异的第一步。git status 来检查本地的情况,这仍然是了解本地提交和远程可见之间差异的第一步。

© www.soinside.com 2019 - 2024. All rights reserved.