![](/img/trans.png)
[英]Source code management strategies - branching, tagging, forking, etc. - for web apps
[英]Big changes on source code, handle this with git branching or forking?
我有一个关于git
和git-flow
。
我正在做一个更大的软件开发项目,并且正在使用git(带有git-flow)进行版本控制。 一切正常...
但是,在下个月,我们必须处理向另一个应用程序服务器的更大迁移,因此,我们必须在源代码中进行许多应用程序服务器特定的更改。
迁移过程将花费更长的时间,因此我需要保持(修复程序,...)两个应用程序服务器的源代码。
示例(日常业务):
现在,我不知道哪种方法最适合处理此问题? 分支或分叉还是其他?
派生将产生一个新的存储库,我认为您不想在这里这样做。
如果您要继续使用gitflow,则需要遵循创建修补程序的过程。 https://danielkummer.github.io/git-flow-cheatsheet/#hotfixes
您可能会发现,如果要继续对当前服务器有功能请求,则为新服务器使用单独的分支可能会更好。 只要确保它与您对当前服务器所做的更改保持最新即可。
我将创建一个新分支,仍然使用“旧”分支作为您的主要“待发布”分支(直到最新工作完成)。
对于需要保持独立的更改,我将对新分支进行新更改,但是如果需要执行任何修补程序,我将修复主分支,然后将这些更改用于新分支。
新分支完成后,我将合并回到主分支并从那里继续。
抱歉,如果太含糊,我无法全面了解您的项目。
经过一些进一步的研究,我找到了一个使用git-flow
和多个并行发行版的完美解决方案(感谢作者):
如果要修复较旧版本的错误或在 此处 进行任何其他开发 ,则可以从master中的相应提交派生一个支持分支 (您将在此创建所有版本)...
其他有用的链接:
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
如果有必要将修补程序移植到您的主要开发线(由
master
和develop
代表),则只需启动一个修补程序,挑选您的更改并完成该修补程序。
而已...:)
感谢所有提及的贡献者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.