git 分支的作用

如果有A和B两个人同时在开发,通常一个feature或者bugfix会建一个新分支再合并进develop分支,那如果A和B直接在develop上(pull下代码再push,有冲突再解决)不也可以开发吗,如果考虑回滚,在develop上不也可以reset或者revert吗?

感觉同一个分支反而更简单,忽然不知道建新的feature或bugfix分支到底有什么好处?

阅读 4.8k
2 个回答

如果你在开发新功能的时候,急需修改一个 bug 怎么办?那你要把你新功能不稳定的代码也部署了?显然不可能。所以要有 feature 分支来保证新功能开发的差不多的时候才能进入主分支的代码。那你的 bug 可以随时修改。

那么,如果你有两个 bug 是先后发现的,但是一个 bug 改好了需要上线,另一个还在改,怎么办?你把改到一般的 bug 部署上线么?显然不可能。所以你需要一个 bugfix 分支,来确保 bug 改好了代码才能回到主分支。

最后,你在开发一个新功能,到一半。突然,产品经理跟你说,我这有个新功能,明天上线!!怎么办?你要把产品暴打一顿辞职还是明天上线新功能?那你第一个一半的新功能代码怎么办?扔了?还是半成品部署上线?所以你需要多个 feature 分支来开发不同的新功能。

怎么样,主分支健壮了吧?随时随地可以部署了吧?

假如A组与B组有不同的功能,那么不同的任务组在不同的分支上开发,互相之间不会影响。再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证develop线代码的完整性和可用性,也就是说,可以保证develop上代码的稳定性,相互不会影响。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题