首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在git中推送修补程序到标签吗?

我可以在git中推送修补程序到标签吗?
EN

Stack Overflow用户
提问于 2014-11-21 03:09:02
回答 1查看 2.8K关注 0票数 4

我得到了一个带有标签(v1、v2等)的主分支,..clients仍然可以从build server下载不同的版本。我们需要在每个版本上放置一个热修复(安全问题)。现在我可以从每个标签中拉出,应用热修复,但不知道如何再次推送回相同的标签?我不想再把旧版本推到主分支的前面..我不知道怎样做才是正确的?

EN

回答 1

Stack Overflow用户

发布于 2014-11-21 03:17:35

假设master包含热修复提交,并且已经领先于v1v2

代码语言:javascript
复制
git checkout v1
git cherry-pick <commit-with-hotfix>
git tag v1.1
git checkout v2
git cherry-pick <commit-with-hotfix>
git tag v2.1
git push --tags origin
git checkout master

在签出标签时,您会收到有关detached HEAD的警告。别担心。

将标签从一个版本移动到另一个版本是非常邪恶和粗鲁的,因为在野外,每个人都是通过标签来引用你的软件版本的。如果你这样做了,当你提到v1时,你永远不会知道某人是否有热修复版本。因此有了v1.1v2.1

git help tag有一个很长的关于重新标记的章节。一般建议:不要这样做。

如果你绝对坚持在同一个标签下更新软件,那么,它们可以被删除。使用v1的示例

代码语言:javascript
复制
git checkout v1
git cherry-pick <commit-with-hotfix>
git tag -d v1
git tag v1
git push --force --tags origin
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27047569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档