为什么标签会以被删除状态进入gitlab?
从git日志为什么标签会以被删除状态进入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
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参数,只是使用了分支的名称