Git的复杂度在于:
-
整个代码管理系统中有3份代码: workspace(IDE中的代码)、本地仓库、远程仓库
-
在一个分支上,会有不同的user push、pull代码,每个人代码之间可能会冲突。
-
整个代码管理系统中有N个分支,不同分支之间存在 checkout、merge等操作(SVN也一样)
运用场景:
-
多个人在同一个分支上开发代码,这是最basic的操作吧。
-
不同环境的发布,依赖相对独立分支的代码。一个项目要分 dev、test、uat、prod环境,这是最basic的操作,但是要保证 test是基于dev,uat是基于test、prod是基于uat,所以必然存在跨分支的代码管理。
-
项目要2个相对独立的不同的功能,这两个功能的上线时间也不同,所以如果在一个分支上开发,必然面临A功能ready了,但是包含了B功能的代码,但是B功能的代码还没ready,如果直接上线,有bug,除非等到B功能也开发好,再一起上线。所以在业务上,需要多分支并行开发,然后到某个时间节点,merge不同分支的代码
网友评论