源代码有很大的变化,用git分支或分叉来处理?

源代码有很大的变化,用git分支或分叉来处理?,git,git-flow,Git,Git Flow,我有一个关于git和git-flow的问题 我正在从事一个更大的软件开发项目,我正在使用git(带有git流)进行版本控制。一切都很好 但是,在下个月,我们必须处理到另一个应用程序服务器的更大迁移,因此我们必须在源代码中进行大量特定于应用程序服务器的更改 迁移过程将花费更长的时间,因此我需要有可能维护(修补程序,…)两个应用程序服务器的源代码 示例(日常业务): 今天:重新编写有关新服务器的源代码 明天:当前服务器的修补程序 一天后:当前服务器的小功能请求 等等 现在,我不知道处理这件事的最

我有一个关于
git
git-flow
的问题

我正在从事一个更大的软件开发项目,我正在使用git(带有git流)进行版本控制。一切都很好

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

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

示例(日常业务):

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

现在,我不知道处理这件事的最佳策略是什么分支分支或其他什么?

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

我会对新分支进行新的更改,对于那些需要保持独立的更改,但是如果我需要进行任何热修复,我会修复主分支,然后将这些更改挑选到新分支

一旦新分支完成,我将合并回主分支并从那里继续


抱歉,如果这太模糊了,我没有你项目的全貌。

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

我会对新分支进行新的更改,对于那些需要保持独立的更改,但是如果我需要进行任何热修复,我会修复主分支,然后将这些更改挑选到新分支

一旦新分支完成,我将合并回主分支并从那里继续


抱歉,如果这太模糊了,我没有您项目的完整信息。

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

如果要继续使用gitflow,则需要遵循创建修补程序的过程。


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

分叉会产生一个新的存储库,我认为您不希望在这里这样做

如果要继续使用gitflow,则需要遵循创建修补程序的过程。

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

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

如果您想修复旧版本的bug或进行任何其他开发 在那里,您将在 master(您将在那里创建所有版本)

其他一些有用的链接:

下面是我未来情景的一个示例: my git flow存储库的状态:

  • 开发
    (新应用服务器的工作正在进行中)
  • master
    (上次稳定版本)
  • v3.0.0
    (旧生产服务器的最终版本)
如果将报告旧生产服务器中的错误,我必须执行以下操作:

使用此git命令向早期版本添加
修补程序

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
develope
表示),只需启动一个修补程序, cherry选择您的更改并完成修补程序

就这样……:)

感谢所有提到的贡献者。

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

如果您想修复旧版本的bug或进行任何其他开发 在那里,您将在 master(您将在那里创建所有版本)

其他一些有用的链接:

下面是我未来情景的一个示例: my git flow存储库的状态:

  • 开发
    (新应用服务器的工作正在进行中)
  • master
    (上次稳定版本)
  • v3.0.0
    (旧生产服务器的最终版本)
如果将报告旧生产服务器中的错误,我必须执行以下操作:

使用此git命令向早期版本添加
修补程序

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
develope
表示),只需启动一个修补程序, cherry选择您的更改并完成修补程序

就这样……:)

感谢所有提到的贡献者