Mic*_*jen 216 git git-push git-tag
我想强制推送,例如,我的标签1.0.0
到我的远程master
分支.
我现在正在做以下事情:
git push production +1.0.0:master
Run Code Online (Sandbox Code Playgroud)
我想强制推送,因为我关心的是1.0.0
标签内的代码被推送到master
远程存储库的分支.
我究竟做错了什么?
当我通过SSH连接到我的Git存储库并执行的服务器时git branch -l
,我也看不到master
列出的分支.
git tag -l
从远程Git存储库内部运行后,我看到它master
已列出,这意味着当我运行以下代码时:
git push production 1.0.0:master
Run Code Online (Sandbox Code Playgroud)
它实际上推送了标签并创建了一个名为 master
而不是新分支的标签.
我想基本上将标签的内容推1.0.0
送到master
远程Git存储库的分支.
bst*_*rre 469
git push --tags production
Run Code Online (Sandbox Code Playgroud)
neo*_*eye 61
我像这样创建标签然后将其推送到GitHub:
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 git@github.com:neoneye/triangle_draw.git
* [new tag] v1.1 -> v1.1
Run Code Online (Sandbox Code Playgroud)
Chr*_*sen 58
它可能是失败的,因为它是1.0.0
一个带注释的标签.也许您看到以下错误消息:
错误:尝试将非提交对象写入分支refs/heads/master
带注释的标签有自己独特的对象类型,指向标记的提交对象.分支无法有效地指向标记对象,只能提交对象.您需要将带注释的标签"剥离"回提交对象并推送它.
git push production +1.0.0^{commit}:master
git push production +1.0.0~0:master # shorthand
Run Code Online (Sandbox Code Playgroud)
还有另一种语法在这种情况下也可以工作,但如果标记对象指向除提交之外的东西(或指向(指向...的标记对象)提交的标记对象,则意味着略有不同) .
git push production +1.0.0^{}:master
Run Code Online (Sandbox Code Playgroud)
这些标记剥离语法在指定修订版下的git-rev-parse(1)中描述.
kop*_*por 10
推送单个标签: git push <reponame> <tagname>
例如,git push production 1.0.0
.标签不绑定到分支,它们绑定到提交.
如果要在主分支中包含标记的内容,请在计算机上本地执行此操作.我假设你继续在你当地的主分公司开发.那么只需一个即可git push origin master
.
归档时间: |
|
查看次数: |
134388 次 |
最近记录: |