几乎所有我能够搜索到的关于工作流程的指令和示例都说我应该从一个功能分支开始。但我不清楚它是否适用于项目的最早阶段,这给我留下了以下问题:
- 我的最小可行产品或创建第一个可发布产品所需的所有工作是否应封装在单个功能中?
- 如果是这样,它真的可以包含开发环境的设置(例如捆绑,测试环境)实际上并不特定于该功能吗?
默认情况下,git 存储库以活动master
分支开头。 运行git status
时,您将收到一条消息,其中包含Initial Commit
第一次提交至少可以包含整个可行代码库的单个文件。但最好从小处着手,然后通过有意义的小提交进行扩展。
例如: 让添加的第一个文件只是一个包含项目基本信息的 README.md。使用git add
将文件添加到索引中,并使用消息Initial Commit
或任何您想要的内容提交。
如果是 Ruby 项目,下一次提交可以为其内容建立lib/
目录和基础。第三次提交可以引入一些在开发过程中提供帮助的 shell 脚本等。
一个分支出现在图片中,很久以后,在处理特定的微功能时。您可以将各种提交添加到此分支,或删除不必要的提交,最后在功能工作完成后合并到主master
。这样可以确保master
分支的历史记录更加清晰。
我认为您将名称"功能分支"与应用程序的实际功能混淆了。
仅当有人想要开发一些新功能并希望他/她的代码库与其他所有人的更改隔离时,才会使用功能分支。他/她创建一个功能分支,对其进行几天的工作,并在功能完成后将其合并回master(此时通常会删除功能分支)。"主分支"包含应用程序的所有功能。实际上,所有分支都包含该应用程序所有代码的副本。分支只是一种隔离机制,所以人们不会互相踩到脚趾。
在您的情况下,如果您正在处理 MVP,则整个事情应该转到您的主分支。