为什么标签会以被删除状态进入gitlab?

为什么标签会以被删除状态进入gitlab?,git,gitlab,jenkins-pipeline,git-tag,Git,Gitlab,Jenkins Pipeline,Git Tag,从git日志 hash1 (HEAD -> mybranch, tag: 1.123.22) hash2 (origin/mybranch, origin/HEAD) 将标记提交回 git tag -d 1.123.22 git tag -a 1.123.22 -m "somemessage" git push -u someuser@gitrepo mybranch --tags 现在回到gitlab,标记不在分支上,而是在分支的某个depatched状态下具有commit hash

从git日志

hash1 (HEAD -> mybranch, tag: 1.123.22)
hash2 (origin/mybranch, origin/HEAD)
将标记提交回

git tag -d 1.123.22
git tag -a 1.123.22 -m "somemessage"
git push -u someuser@gitrepo mybranch --tags
现在回到gitlab,标记不在分支上,而是在分支的某个depatched状态下具有commit hash,并且它们的父级是来自另一个分支的commit

如何使用其他文件中的我的版本更改将标记推回到mybranch,而不是取消批处理的提交

请原谅,是的,并没有“-branch”参数,但其余参数似乎是准确的

尝试时

git push --tags --set-upstream someuser@gitrepo mybranch
唯一的区别是输出是

 * [new tag]           1.3.42 -> 1.3.42
而不是

Everything up to date
但是标记会以一个depatched状态提交到gitlab中

EDIT2这与我看到的标记无关,提交在到达mybranch时也有问题:

+ git commit -m 'message'
[mybranch somehash] message
 4 files changed, 3 insertions(+), 4 deletions(-)
+ git branch -vv
* mybranch somehash[origin/mybranch: ahead 1] message
+ git remote -v
origin  myrepo (fetch)
origin  myrepo (push)
+ git push --set-upstream myrepo mybranch
Everything up-to-date
然而,尽管有这样的信息,这些变化似乎是被推动的。 本地检查分支:

git branch --list
* develop

应用push命令后是否收到消息

文档中没有列出您正在使用的
-branch
参数:

git推送[--all |--mirror |--tags][--follow tags][--atomic][n| --干运行][--接收包=] [--repo=][-f |--force][d |--delete][--prune][v |--verbose] [-u |--设置上游][--推送选项=] [-[no-]signed |--signed=(如果被问及,则为true | false)] [--租赁强制[=[:]] [--无验证][…]

你能试试下面的方法,让我知道它是否有效吗

git push--tags--set上游someuser@gitrepo我的分行


(您可以使用
-u
,而不是
-set-upstream
,使用详细版本来增加可读性)

是否应该将
-branch
作为git推送参数?我没有在文档中找到它<代码>git推送--tags-usomeuser@gitrepomybranch应该可以工作。你能试试这个语法吗?我仔细检查了一下,至少在我的测试中,
push
命令不会运行。请使用您使用的确切命令更新问题,以便我们知道可能产生的结果。此外,请提供任何命令和输出,表明“标记没有到达分支上,但已提交处于某种分离状态…”另外请注意,如果您向
git checkout
提供标记名,则根据定义,您始终会得到分离的头。torek ok,如何在我的开发分支上,而不是在被删除的头上,将标记返回的repo提交给我的开发分支?如果git将与分支一起返回,这将意味着分支的版本已经过时。Git标记是指向单个提交的指针,就像分支一样,因此它显示为一个分离的头,同时使用--set-upstream和-u会把事情搞砸吗?我刚刚尝试过,结果完全一样,“一切都是最新的”,标记与提交一起降落在回购协议中,但它处于已删除状态,不属于任何branchNo,这不应该有什么区别。我使用-set-upstream的唯一目的是,将来阅读这个答案的人不必查找-u代表什么。我的更正是删除了-branch命令。是的,我在stackoverflow中错误地编写了它,该命令没有使用-branch参数,只是使用了分支的名称