How do you push a Git tag to a branch using a refspec?
例如,我想强制将我的标签
我现在要做的是:
1 | git push production +1.0.0:master |
我想强制推送,因为我只关心
我做错什么了?
更新1当我ssh到我的git存储库所在的服务器并执行
在从远程Git存储库中运行
1 | git push production 1.0.0:master |
号
它实际上推动了这个标签,并创建了一个名为
我想基本上将标签
1 | git push --tags production |
我创建了这样的标签,然后把它推到Github:
1 2 3 4 5 6 7 8 | git tag -a v1.1 -m"Version 1.1 is waiting for review" git push --tags Counting objects: 1, done. Writing objects: 100% (1/1), 180 bytes, done. Total 1 (delta 0), reused 0 (delta 0) To [email protected]:neoneye/triangle_draw.git * [new tag] v1.1 -> v1.1 |
。
它可能会失败,因为
error: Trying to write non-commit object to branch refs/heads/master
号
带注释的标记有自己独特的对象类型,这些对象指向带标记的提交对象。分支不能有效地指向标记对象,只能提交对象。您需要"剥离"带注释的标记以提交对象,并将其推送。
1 2 | git push production +1.0.0^{commit}:master git push production +1.0.0~0:master # shorthand |
号
在本例中还有另一种语法也可以使用,但如果标记对象指向的不是提交(或指向(指向…)提交的标记对象),则意味着略有不同。
1 | git push production +1.0.0^{}:master |
这些标签剥离语法在Git Rev Parse(1)中的"指定修订"下进行了描述。
推单标签:
例如,
当您希望在主分支中包含标记的内容时,请在您的计算机上本地执行该操作。我假设你继续在当地的总分行发展。那么,仅仅一个