美文网首页
git版本控制开发流程小结笔记

git版本控制开发流程小结笔记

作者: Will_2ad2 | 来源:发表于2017-06-12 14:02 被阅读0次

    相关分支
    1、 Master

    顾名思义,既然名字叫Master,那么该分支就是主分支的意思。在git repo下主分支的职责主要就是负责记录stable版本的迭代,当在beta版本的项目或是开发版本的项目得到了充分的验证之后,我才能将分支并入master分支。master分支永远是production-ready的状态,即稳定可产品化发布的状态。

    2、Develop

    这个分支就是我们平常开发的一个主要分支了,不管是要做新的feature还是需要做bug fix,都是从这个分支分出来做。在这个分支下主要负责记录开发状态下相对稳定的版本,即完成了某个feature或者修复了某个bug后的开发稳定版本。

    3、Feature branches

    这是由许多分别负责不同feature开发的分支组成的一个分支系列。new feature主要就在这个分支系列下进行开发。当我在一个大的develop的迭代之下,往往我们会把每一个迭代分成很多个功能点,并将功能点分派给不同人的人员去开发。每一个人员开发的功能点就会形成一个feature分支,当功能点开发测试完毕之后,就会合并到develop分支去。

    分支管理策略
    1、 准备工作
    从master上拉出develop分支

    
    git checkout -b develop
    
    
    105516_VQTR_1781981.png

    如图,当前develop和master的head都指向同一个节点

    2、 功能点开发
    假设现在有一个功能点,指派给A同学进行开发了。首先,他应该从最新develop分支中拉出一个feature分支,假设为该feature分支命名为feature1。

    
    $ git checkout -b feature1
    Switched to a new branch 'feature1'
    $ git branch
      develop
    * feature1
      master
    
    

    于是,我们便创建并切换到了feature1分支。

    
    $ ls
    1.txt  2.txt
    $ echo "feature1" >> 1.txt
    
    

    现在A同学开始了他的开发,他将feature1写入了1.txt,这样他就完成了该功能点。那么之后他应该进行commit,并提交QA进行相应的功能测试

    
    $ git status
    # On branch feature1
    # Changes not staged for commit:
    #   (use "git add <file>..." to update what will be committed)
    #   (use "git checkout -- <file>..." to discard changes in working directory)
    #
    #       modified:   1.txt
    #
    no changes added to commit (use "git add" and/or "git commit -a")
    $ git add -A
    $ git commit -m 'feature1'
    
    

    提交之后,我们可以很容易的看到当前的一个分支节点网络的情况,如图。

    105744_3qaZ_1781981.png

    A同学开发的feature1分支有了更新,已经超前于develop分支,因此我们现在需要对feature1分支进行合并操作。

    
    $ git checkout develop
    Switched to branch 'develop'
    $ git merge feature1
    Updating 2ea6fb8..8d30443
    Fast-forward
     1.txt | 1 +
     1 file changed, 1 insertion(+)
    
    

    因为当前我们并没有发生冲突,所以develop分支的head只是单纯的forward到了feature1分支的节点上。于是,我便完成了分支的合并,当前的分支网络如下图。

    105916_qg7R_1781981.png

    3、 处理冲突(略)

    相关文章

      网友评论

          本文标题:git版本控制开发流程小结笔记

          本文链接:https://www.haomeiwen.com/subject/ymslqxtx.html