我完成了本地branch1
的工作,并将其合并到master
。
现在我想为我的应用程序开发另一个功能,因此我将创建第二个本地branch2
,完成添加功能并合并到master branch2
。只要我需要使用功能实现我的应用程序并且直到我的应用程序完成,这可以继续。
现在假设在完成所有这些实现后,我想对branch1
的工作主题进行一些改进或更改,比如静态页面about
,help
和{{1} }。
是否可以签出并重新使用contact
进行这些更改,或者该分支不能再使用,而应该删除?
过了一段时间,可能会有相当多的旧主题分支,我最初可能想要为这些目的保留。然而,这些旧的分支都已过时,不再像创建时那样完全复制主分支:这是branch1
成功的先决条件吗?
答案 0 :(得分:2)
分支/合并策略由您决定,但您似乎描述了基于功能的工作流程。
在这种情况下,在您将功能分支 branch1
合并为master后,此功能的内容/历史记录将包含在{{1由于合并,分支。 master
随着时间的推移变得毫无用处甚至过时,因此您可以安全地删除它,以便旧的功能分支不会累积在您的存储库中。
如果您查看要添加到branch1
引入的功能的改进,您可以将这些改进视为新的功能,从而从{创建新功能分支{1}}执行这些改进。
如何组织工作流程是相当主观的,最佳策略通常取决于项目在贡献者方面的组织方式以及如何部署更改。
答案 1 :(得分:1)
你可以使用这些旧的分支,但是......你应该在之前合并来自master的新变化(所以你可以避免将来出现大的合并问题)。当你需要转世旧分支时:
git checkout very-old-branch
git pull ./ master
# do some changes into very-old-branch
git add .
git commit -m 'changes in the very old branch'
# need to merge very old branch with new changes into master again
git checkout master
git pull ./ very-old-branch
git push origin master
但最好不要成为死灵法师而只是创建新的分支并在其中进行更改:)
答案 2 :(得分:1)
您应该查看gitflow
。
这是一个非常着名的工作流程,可以按照您的要求进行此类开发
完整的工作流程将如下所示。在您的情况下,您可以参考功能分支(紫色分支)。
相关文章如下:
http://nvie.com/posts/a-successful-git-branching-model/
正如您所看到的,您一直在努力开发新功能,一旦完成它们,您只需将它们合并回dev
(在您的情况下可以是主要功能)