git 分支的作用
如果有A和B两个人同时在开发，通常一个feature或者bugfix会建一个新分支再合并进develop分支，那如果A和B直接在develop上（pull下代码再push，有冲突再解决）不也可以开发吗，如果考虑回滚，在develop上不也可以reset或者revert吗？
感觉同一个分支反而更简单，忽然不知道建新的feature或bugfix分支到底有什么好处？
如果你在开发新功能的时候，急需修改一个 bug 怎么办？那你要把你新功能不稳定的代码也部署了？显然不可能。所以要有 feature 分支来保证新功能开发的差不多的时候才能进入主分支的代码。那你的 bug 可以随时修改。
那么，如果你有两个 bug 是先后发现的，但是一个 bug 改好了需要上线，另一个还在改，怎么办？你把改到一般的 bug 部署上线么？显然不可能。所以你需要一个 bugfix 分支，来确保 bug 改好了代码才能回到主分支。
最后，你在开发一个新功能，到一半。突然，产品经理跟你说，我这有个新功能，明天上线！！怎么办？你要把产品暴打一顿辞职还是明天上线新功能？那你第一个一半的新功能代码怎么办？扔了？还是半成品部署上线？所以你需要多个 feature 分支来开发不同的新功能。
怎么样，主分支健壮了吧？随时随地可以部署了吧？