zoukankan      html  css  js  c++  java
  • git团队协作

    hi,team,我们目前使用的是git做项目管理,它是非常优秀的版本控制工具,使用好可以极大提高我们团队开发效率。但是,出现不必要的冲突和代码丢失就要费时解决这些可避免的问题。


    git开发流程


     

    这个流程图是应用Git Flow的标准流程,可以看到,不同的分支在产品研发和上线的不同阶段有不同的作用,扮演了不同的角色。

    我们团队人数不多,按照实际需要想了这样一套流程

    结合图片,简单介绍一下不同分支的职责。

    1.Master分支
    这个分支是发布到生产环境的代码,这个分支只能从其他分支合并,不能在这个分支直接修改。
    2.Develop分支
    这个分支是主开发分支,包含所有要发布到下一个Release的代码,这个主要合并自其他分支,比如Feature分支。
    3.Feature分支
    Feature 分支主要用来开发一个新的功能,一旦开发完成,合并回Develop分支,并且进入下一个Release,Feature分支可以选择删除或者保留。
    4.Test分支
    当需要发布一个新Release的时候,基于Develop分支创建一个Release分支,Release分支在测试过程中可能会修改,完成Release后,合并到Master和Develop分支。
    5.Hotfix分支
    当在Production发现新的Bug时候,需要创建一个Hotfix分支, 完成Hotfix后,合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release。

    Git Flow使用原则


    Master分支是线上稳定分支,没有bug,没有很大的性能问题的代码,作为根基。每次上线之后进行一次新的拉分支操作。

    Test通常用作测试分支,这是由Develop分支开发好之后合并到测试,统一交由测试部门测试的代码,该分支只 
    在类似于线上的环境运行。Test分支发布后出现问题,不要合并主分支,直接在Test分支修改在测试,Develop分支代码污染,通过测试之后推送到其他分支上。

    Develop分支是开发应用的主分支,多人开发环境可以第一次统一代码版本的规范,以子分支的方式让各开发人员建立自己的分支,必须每天或者短期进行合并,如果修改公共代码,请及时告知相关分支下开发人员,有效避免大规模重途。

    所有的功能开发都在Feature分支进行,然后合并到Develop分支,创建自己的分支开发时统一规范,例如:/user/zy/20180318。不相关的文件不要往主分支上push,因为这有可能让别人的代码环境遭到破环,在提交时就一直报错,冲突之内的,解决起来很麻烦。

    //新建分支
    git checkout develop
    git pull origin develop
    git checkout -b myfeature
     
    //在分支上开发
    git add ***
    git commit -m "*****"
     
    //在分支开发过程中合并develop分支到本分支(先把自己的工作commit到本地)
    git checkout develop
    git pull origin develop
    git checkout myfeature
    git merge develop
     
    (如果没有冲突,就继续开发,如果有冲突,执行下面过程)
    首先在本地解决冲突,再把冲突解决commit
    git add ***
    git commit -m "*****"
     
    //在分支开发结束,需要将本分支合并到develop分支(先把自己的工作commit到本地)
    git checkout develop
    git pull origin develop
    git merge myfeature
     
    (如果没有冲突,就推送到远程)
    git push origin develop
    (如果有冲突,则解决冲突,再commit,并推送到远程:)
    git add ***
    git commit -m "*****"
    git push origin develop

     如果想学习更多git的操作。可以参考该网站:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000

    补充:git拉取远程分支并创建本地分支

    一、查看远程分支

    使用如下Git命令查看所有远程分支:

    git branch -r
     

    二、拉取远程分支并创建本地分支

    方法一

    使用如下命令:

    git checkout -b 本地分支名x origin/远程分支名x
     
    $ git checkout -b hhhh master
     

    以master为模板,创建hhhh分支,并且切换到hhhh分支

    使用该方式会在本地新建分支x,并自动切换到该本地分支x。

  • 相关阅读:
    yum和apt-get用法及区别
    Vim终极指南:所思即所得
    Vim 操作符命令和动作命令
    vim中文手册
    标准代码页(codepage)列表
    中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030
    vim在系统剪切板的复制与粘贴
    linux中高亮显示文本的工具 -- bat
    pandas category数据类型
    pandas 数据类型转换
  • 原文地址:https://www.cnblogs.com/zhikou/p/8597739.html
Copyright © 2011-2022 走看看