【发布时间】:2017-11-03 15:12:21
【问题描述】:
快速提问,关于如何处理 SVN 和 GIT 中的热修复场景,如果我错了,请纠正我。
我有丰富的 SVN 经验,但我对 GIT 的经验较少,我主要想知道我在 GIT 中的翻译是否还可以(不是有史以来最好的!),但只要它能按预期工作。
SVN:
我正在 TRUNK 上开发,客户要求我开发一个特殊功能,我决定在 BRANCH 上开发此功能
这个功能还可以,我准备把它合并到TRUNK,同时已经更新了几个变化,但是客户要求我立即发布,他们一直在集中测试BRANCH,所以他们不想将功能合并到 TRUNK 中,但他们希望我直接释放 BRANCH。
好的,够了,我标记了 BRANCH 并将其发布到 PRODUCTION,然后我将在接下来的几天里将该功能合并到 TRUNK 中,以便在我的 TRUNK 更改上线时进行下一个版本,此外,我决定删除 BRANCH 是因为我不再想要它了,因为该功能已经开发并且将被合并到 TRUNK 中,(并且我得到了 TAG 来保存基本代码)
天啊!新功能有一个错误,我必须修复它,但我不再拥有 BRANCH,不用担心为此制作了“控制版本”,只需 BRANCH 刚刚发布的标签,开发您的修复程序然后发布再次,然后不要忘记将修复合并回 TRUNK。
GIT:
我正在 MAIN_DEV 分支上开发,客户要求我开发一个特殊功能,我决定在 FEATURE_BRANCH 上开发此功能
该功能还可以,我即将将其合并到 MAIN_DEV,同时已经更新了一些更改,但是客户喜欢我的新功能并要求我直接发布它并且他们一直将测试重点放在 FEATURE_BRANCH 上,因此他们不想将功能合并到 MAIN_DEV 分支中,但他们希望我直接发布 FEATURE_BRANCH
好的,够了,我标记 FEATURE_BRANCH 并将其发布到生产环境中,然后我将在接下来的几天里将该功能合并到 MAIN_DEV 中,以便我的 MAIN_DEV 更改将上线的下一个版本,此外,我决定删除 feature_branch 因为我不再想要它了,因为我开发了这个功能..
天啊!新功能有一个错误,我必须修复它,但我没有 FEATURE_BRANCH,我无法将它修复到 MAIN_BRANCH 原因包含我不想发布的新更新...不用担心“控制版本”是为此而制定的,只需将刚刚发布的标签分支,开发您的修复程序然后再次发布它,然后不要忘记将修复程序合并回 MAIN_DEV。
问题:
- 我的 SVN 流的 GIT 翻译正确吗?
- 如果我从我的 feature_branch 中删除我的标签,而不是我删除我的 feature_branch,因为该功能已经开发,我总是可以在刚刚发布的标签中剪切的新分支上开发 HotFix 或补丁,无需继续存储功能分支因为我将所有内容都放入了 TAG(代码、历史记录等)。我说的对吗?
【问题讨论】:
标签: git svn version-control tags