我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:彩66彩票 > 多态编程语言 >

Git提交规范-Java程序员必备_Base

归档日期:05-31       文本归类:多态编程语言      文章编辑:爱尚语录

  在Java程序开发中的定制开发规范,想要把项目正规高效的跑起来。引入 Git 版本控制,Git-Flow 便成为了首选。今天动力节点Java学院来带你了解一下。

  当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。 Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。

  基本套路:你可以定义一个完全适合你自己项目的工作流程,或者使用一个别人定义好的。

  所以在我们初始化的时候,对仓库并没有其他改动,只是创建了几个分支。当然,如果你不想继续使用 git-flow ,那么只需要简单的停用 git-flow 的命令即可,不需要修改或者删除任何文件。

  很简单, develop 分支是我们日常开发的分支,会有很多改动。而 master 主要针对线上分支,下面会细说。

  git-flow 模式会预设两个主分支在仓库中: 1. master 只能用来包含产品代码 我们不能直接工作在这个 master 分支上,而是在其他指定的,独立的特性分支中。

  不直接提交改动到 master 分支上也是很多工作流程的一个共同的规则。

  2. develop 是你进行任何新的开发的基础分支 当你开始一个新的功能分支时,它将是开发的基础。另外,该分支也汇集所有已经完成的功能,并等待被整合到 master 分支中。

  上面说到的这两个分支被称作为长期分支,它们会存活在项目的整个生命周期中。

  而其他的分支,例如针对功能的分支,针对发行的分支,仅仅只是临时存在的。它们是根据需要来创建的,当它们完成了自己的任务之后就会被删除掉。

  1. master 分支 最为稳定功能比较完整的随时可发布的代码,即代码开发完成,经过测试,没有明显的 bug,才能合并到 master 中。请注意永远不要在 master 分支上直接开发和提交代码,以确保 master 上的代码一直可用;

  2. develop 分支 用作平时开发的主分支,并一直存在,永远是功能最新最全的分支,包含所有要发布 到下一个 release 的代码,主要用于合并其他分支,比如 feature 分支; 如果修改代码,新建 feature分支修改完再合并到 develop 分支。所有的 feature、 release 分支都是从 develop 分支上拉的。

  3. feature 分支 这个分支主要是用来开发新的功能,一旦开发完成,通过测试没问题,我们合并回 develop 分支进入下一个 release 。

  4. release 分支 用于发布准备的专门分支。当开发进行到一定程度,或者说快到了既定的发布日,可以发布时,建立一个 release 分支并指定版本号(可以在 finish 的时候添加)。开发人员可以对 release 分支上的代码进行集中测试和修改 bug。(这个测试,测试新功能与已有的功能是否有冲突,兼容性)全部完成经过测试没有问题后,将 release 分支上的代码合并到 master 分支和 develop 分支。

  § 只要有合并到 master 分支的操作,都需要和 develop 分支合并下,保证同步。

  § master 和 develop 分支是主要分支,主要分支每种类型只能有一个,派生分支每个类型可以同时存在多个。

  在 Git-flow 中,通过使用 Feature 分支,使得我们在同一时间开发多个分支更加简单。 我们接到了一个 Test1 需求,使用 feature start 来启动:

  我们自动切到了 feature/test1 分支下,正好开始我们的开发,建一个文件先:

  这里主要有几个操作: 1.首先, git-flow 会拉取远程仓库,以确保目前是最新的版本。 2.然后, release 的内容会被合并到 master 和 develop 两个分支中去,这样不仅产品代码为最新的版本,而且新的功能分支也将基于最新代码。 3.为便于识别和做历史参考, release 提交会被标记上这个 release 的 Tag。 4.清理操作,版本分支会被删除,并且回到 develop。

  总结一下: 1.完成的改动会被合并到 master 中,同样也会合并到 develop 分支中,这样就可以确保这个错误不会再次出现在下一个 release 中。 2.这个 hotfix 程序将被标记起来以便于参考。 3.这个 hotfix 分支将被删除,然后切换到 develop 分支上去。

  恭喜你,到这里你已经完成了 git-flow 的基本流程。为了更加整体的理解工作流,我们来看看下面这张流程图:

  动力节点Java架构师班深度剖析Java底层原理,热门技术深入探讨,前沿技术深入解读,大项目实战重构,从0到1做架构,从全局思维出发,带你把控大型项目中别人忽略的重要细节节点,站在巨人肩膀上学习架构师,带你领会架构师不一样的视野返回搜狐,查看更多

本文链接:http://chapmanswifts.com/duotaibianchengyuyan/399.html