源代码发生了很大变化,使用git分支或分叉处理这个问题?

时间:2017-02-17 15:29:56

标签: git git-flow

我怀疑gitgit-flow

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

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

迁移过程需要更长时间,因此我需要有可能维护(修补程序,......)两个应用程序服务器的源代码。

示例(日常业务):

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

现在,我不知道哪种方法可以解决这个问题? 分支分叉或其他什么?

3 个答案:

答案 0 :(得分:2)

分叉会产生一个新的存储库,我认为你不想在这里做。

如果您要继续使用gitflow,则需要按照创建修补程序的步骤进行操作。 https://danielkummer.github.io/git-flow-cheatsheet/#hotfixes

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

答案 1 :(得分:1)

我创建了一个新的分支,仍然使用" old"分支作为您的主要"将被释放"分支(直到最新的工作完成)。

我会对新分支进行新的更改,因为那些需要保持分离的更改,但是如果我需要执行任何修补程序,我会修复主分支,然后将这些更改挑选到新分支。

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

道歉,如果这太模糊,我不能全面了解你的项目。

答案 2 :(得分:0)

Git-flow和多个并行版本

经过一些进一步的调查,我发现了一个完美的解决方案,可以使用git-flow和多个并行版本(感谢作者):

  

如果您想修复旧版本的错误或进行其他任何开发   那里,您将从相应的提交中分叉支持分支   master(你将在那里创建所有版本)......

Git-flow and master with multiple parallel release-branches

其他一些有用的链接:

Following git-flow how should you handle a hotfix of an earlier release?

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

https://gitversion.readthedocs.io/en/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表示),只需启动修补程序,   樱桃 - 选择你的更改并完成修补程序。

多数民众赞成......:)

感谢所有提到的贡献者。