繁体   English   中英

源代码的重大变化,可以通过git分支或分叉来解决?

[英]Big changes on source code, handle this with git branching or forking?

我有一个关于gitgit-flow

我正在做一个更大的软件开发项目,并且正在使用git(带有git-flow)进行版本控制。 一切正常...

但是,在下个月,我们必须处理向另一个应用程序服务器的更大迁移,因此,我们必须在源代码中进行许多应用程序服务器特定的更改。

迁移过程将花费更长的时间,因此我需要保持(修复程序,...)两个应用程序服务器的源代码。

示例(日常业务):

  • 今天:返工有关新服务器的源代码
  • 明天:当前服务器的修补程序
  • 一天后:请求当前服务器的小功能
  • 等等...

现在,我不知道哪种方法最适合处理此问题? 分支分叉还是其他?

派生将产生一个新的存储库,我认为您不想在这里这样做。

如果您要继续使用gitflow,则需要遵循创建修补程序的过程。 https://danielkummer.github.io/git-flow-cheatsheet/#hotfixes

您可能会发现,如果要继续对当前服务器有功能请求,则为新服务器使用单独的分支可能会更好。 只要确保它与您对当前服务器所做的更改保持最新即可。

我将创建一个新分支,仍然使用“旧”分支作为您的主要“待发布”分支(直到最新工作完成)。

对于需要保持独立的更改,我将对新分支进行新更改,但是如果需要执行任何修补程序,我将修复主分支,然后将这些更改用于新分支。

新分支完成后,我将合并回到主分支并从那里继续。

抱歉,如果太含糊,我无法全面了解您的项目。

Git-flow和多个并行发布

经过一些进一步的研究,我找到了一个使用git-flow和多个并行发行版的完美解决方案(感谢作者):

如果要修复较旧版本的错误或在 此处 进行任何其他开发 ,则可以从master中的相应提交派生一个支持分支 (您将在此创建所有版本)...

Git-flow和master带有多个并行释放分支

其他有用的链接:

在git-flow之后,您应该如何处理早期版本的修补程序?

https://gitversion.readthedocs.io/zh_CN/latest/git-branching-strategies/gitflow-examples/#support-branches

https://gitversion.readthedocs.io/zh_CN/latest/git-branching-strategies/gitflow-examples/#support-branches

https://groups.google.com/forum/#!msg/gitflow-users/I9sErOSzYzE/AwVH06CuKT0J

这是我未来情况的一个示例:

我的git-flow储存库的状态:

  • develop (正在进行中的新应用服务器)
  • master (最新稳定发行版)
  • v3.0.0 (旧生产服务器的最终版本)

如果将报告旧生产服务器中的错误,我必须执行以下操作:

使用以下git命令将hotfix添加到早期版本:

git flow support start 3.x 3.0
git flow hotfix start 3.0.1 support/3.x

现在进行更改,然后完成:

git flow hotfix finish 3.0.1

如果有必要将修补程序移植到您的主要开发线(由masterdevelop代表),则只需启动一个修补程序,挑选您的更改并完成该修补程序。

而已...:)

感谢所有提及的贡献者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM