我对GIT的版本控制有点新意。我阅读了此Guide,并遵循图HERE中显示的基本方法。不过,我对如何使用git分支将新功能的开发与现有代码分开存在疑问。
这是一个例子。假设在开始时,我的存储库包含以下两个主要分支:
当我需要开发新功能或模块时,我从Develop创建分支并在那里启动新的代码项目。例如,我创建了三个新分支来添加与Sun
,Star
和SuperNova
相关的功能。现在,我的存储库包含五个分支:
对于版本1.0.1,我想要包含Sun
和Star
模块,但不包括SuperNova
。因此,我将它们与Develop合并,然后将Develop与Release版本合并:
需要永久保留Develop分支,但不再需要Sun
和Star
分支。它们被删除了:
完成这些更改后,我的存储库包含以下三个分支:
==
首先,我正确使用git分支吗?
其次,我回顾了最终Develop分支的历史,似乎我丢失了NewModules
的一些信息。这是正常的吗?并且,是否可以将所有历史信息传输到Develop分支?
谢谢!
答案 0 :(得分:18)
我是否正在使用git?
是的,您描述的工作流程几乎是标准工作流程。你创建了一个分支,你可以在它上面工作,当你完成它时你将它合并并删除不需要的分支(除非你要继续在那个分支上开发)。
删除分支后,查看我认为的历史记录 丢失了关于分支本身的所有信息......这是正常的吗?
是的,这是正常的。
是否可以删除分支但保留历史信息 不间断?
不确定你的意思。只要您在删除分支之前合并了分支,历史记录仍然存在。您只需将其合并到另一个分支中,就可以在该分支上看到历史记录。如果这是您要求的分支,则无法知道分支何时被删除。
答案 1 :(得分:10)
我建议你阅读http://nvie.com/posts/a-successful-git-branching-model/,它定义了git分支的良好模式。
我发现我将开发分支保留一段时间,直到时间呈现您在这些修订中所做的更改历史记录不值得保留(大约6个月),然后删除它们。