有一个网络应用程序。我们想说我想添加一个功能。我可以编写一些代码,在本地测试它,确保它有效 - 然后发布它以便公众可以使用。但是,某些功能非常复杂,并且不容易以相同的方式编写,测试和发送。
即使我发布应用程序,我也希望能够使我正在处理的某些功能无法向公众开放。
假设我想在应用中添加自定义痕迹导航功能(仅限一页以保持简单)。我可以在Config文件中的某处保存一些IsProductionReady变量包围的代码块 - 然后一旦我完成,我可以将IsProductionReady设置为True - 所以现在它出现了。
我还希望能够切换到任何其他功能/更改并在不影响任何代码的情况下发布它们,而不会显示任何面包屑功能开发的迹象。当我完成该功能后,我希望能够这样做,以便公众可以使用。
维持某项功能状态的最佳做法或策略是什么?构建它的最佳方法是什么?
答案 0 :(得分:1)
我会在两者之间的Github上有单独的分支,并保持结构相同。功能准备就绪后,请合并到生产分支。
答案 1 :(得分:1)
如果您正在使用Git,最好为每个新功能设置一个单独的分支,然后在分支进行测试和批准后,您可以将它们合并到主开发分支中,运行另一个回归测试(因为不同的功能可能会干扰彼此的功能),然后将其移动到生产分支。
看看这些网址,我猜你可以在其中找到你想要的场景:
http://nvie.com/posts/a-successful-git-branching-model/
http://martinfowler.com/bliki/FeatureBranch.html
https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow