微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以将我的程序的“旧”版本保留在分支中吗?

如何解决可以将我的程序的“旧”版本保留在分支中吗?

我在 master 分支上维护一个版本为“1.x”的程序。现在我正计划对其进行大的改写,因此大部分文件将被删除/替换为新文件,但主要功能将保持不变。我想称它为“2.x”版本。

我不想为它创建一个新的存储库(例如,我会丢失我想在 2.x 中解决的 1.x 的所有未解决的问题)。相反,我想:

  • 将 master 分支到临时 2.x-dev 并开始在那里进行破坏性更改
  • 当“2.x”准备好时,从当前主节点创建一个分支 1.x
  • 2.x-dev 合并到 master

最后,master 会突然变成程序的“2.x”版本,而“1.x”将保留在一个永远不会合并到 master 的分支上。 >

这是一个好的做法还是我应该换一种方式?

编辑:我不是 100% 确定我不会在合并后对 1.x 进行进一步更改。示例 1.x 可能会保留为某种逆向兼容性。但它不会获得任何新功能

解决方法

您是否计划进一步开发您的 1.x 产品线?如果是这样,一个分支是完全正确的。 (由于 DAG - 有向无环图的性质 - “分叉”和“分支”之间只有语义上的区别。简单地想一下分叉作为不同服务器上的“远程分支”)。

如果 1.x 只是历史记录并且永远不会被再次修改,请改用标签(命令:git tag)。

但您甚至可以将两者结合起来:

  • 创建标记 1.0 以标记最新 1.x 版本的特定版本。
  • 如果您认为需要做进一步的工作,请从标记创建新分支:git checkout -b 1.x 1.0

如果您发布了新的 1.x 版本,只需再次标记分支的最新状态:git tag 1.1 1.x

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。