我对使用 GIT 进行版本控制有点陌生。我阅读了本指南并遵循此处图表中显示的基本方法。尽管如此,我还是对如何使用 git 分支将新功能的开发与现有代码分开存在一些疑问。
这是一个例子。假设一开始,我的存储库包含以下两个主要分支:
- Master 分支(包含发布版本)
- 开发分支(包含新的修复或功能以将它们与现有项目功能分开)
当我需要开发新功能或模块时,我会从 Develop 创建分支并在那里启动新的代码项目。例如,我创建了三个新分支来添加与 、 和 相关Sun
的Star
功能SuperNova
。现在,我的存储库包含五个分支:
- 主分支:发布 1.0.0
- 开发分支:1.0.0 发布后的修改
- NewModule_Sun 分支:将 Sun 添加到项目(从 Develop 分支创建)
- NewModule_Star 分支:将 Star 添加到项目(从 Develop 分支创建)
- NewModule_SuperNova 分支:将 SuperNova 添加到项目(从开发分支创建)
对于 1.0.1 版,我想包含Sun
andStar
模块,但不包含SuperNova
. 因此,我将它们与 Develop 合并,然后将 Develop 与 Release 合并:
- 合并 NewModule_Sun 到 Develop
- 将 NewModule_Star 合并到 Develop
- 将 Develop 合并为 Master(1.0.1 版)
Develop 分支需要永久保留,但不再需要Sun
and分支。Star
他们被删除:
- 删除 NewModule_Sun 分支
- 删除 NewModule_Star 分支
在这些更改之后,我的存储库包含以下三个分支:
- 主分支:发布 1.0.1
- 开发分支:1.0.1 发布后的修改
- NewModule_SuperNova 分支:1.0.0 版后的修改(在没有与 Star/Sun 分支合并时从 Develop 创建)
==
首先,我是否正确使用了 git 分支?
其次,我回顾了最终开发分支的历史,似乎丢失了一些关于NewModules
. 这正常吗?而且,是否可以将所有历史信息传输到开发分支?
谢谢!!