美文网首页学习gitGit
Git分支那点事儿(下):Git分支实战

Git分支那点事儿(下):Git分支实战

作者: ClassName | 来源:发表于2017-08-11 18:29 被阅读96次

    hello大家好,昨天我已经讲了Git分支的理论部分没有看的同学请点击这里Git分支那点事儿(上):什么是分支,如何管理分支?,马克思爷爷说过,理论要与实践相结合,那么今天,我们就以在办公中常见的开发场景为例,来具体介绍分支的用法,同时附带一些简单的Git指令,下面让我们开始吧~

    一、新项目来啦

    公司里来了一个新项目,大A是开发组长,小b小c是开发组员,接到任务后,大A首先在中央仓库建立一个项目仓库,master为主分支,然后大A在本地为master配套一个develop分支,push到服务器上

    git branch develop
    git push -u origin develop
    

    以后develop分支将会包含项目的全部历史,而master只包含部分历史。当小b和小c需要开发时,他们应该先链接中央仓库,然后检出develop分支

    git checkout -b develop origin/develop
    

    checkout命令加 -b 代表创建并切换,相当于以下两条命令

    git branch develop
    git checkout develop
    

    二、小b和小c开始开发新功能

    大A给小b小c分配完任务后,他们开始各自的开发,这时,他们需要为各自的功能创建相应的分支,新的分支应基于develop分支,而不是master分支。

    git branch  branch-name develop
    

    这里的branch-name自己可以随意定义名称,但是千万别用test,因为我试过,这个名字非法,哈哈哈

    三、小b小c完成功能开发

    开发功能完成后,小b小c觉得功能ok了,这时候他们就可以把自己的分支合并到develop上,然后push到中央仓库

    git pull origin develop
    git checkout develop
    git merge branch-name
    git push
    //如果觉得当前分支不需要了,可以执行
    git branch -d branch-name
    

    第一条pull,是确保在合并功能前develop分支是最新的,注意,功能只能合并到develop分支

    四、组长准备功能发布

    组长大A在看到组员功能完成后,准备发布第一个功能测试版本


    git branch release/v0.1.0 develop
    

    这个分支是清理发布、执行所有测试、更新文档的地方,一个用于专门改善发布功能的分支。
    只要把这个分支push到中央仓库,这个分支的功能就是冻结的。任何在develop的分支中的新功能都推到下一个release中

    五、完成发布

    一旦release测试完毕,这是,需要将release合并到master上,修改后的release同时也要合并回develop上,因为改好的功能在以后的develop分上也要体现出来

    git checkout master
    git merge release/0.1.0
    git push
    git checkout develop
    git merge release/0.1.0
    git push
    git branch -d release/0.1.0
    

    在release合并到master后,还要给master分支打tag以方便跟踪。

    git tag -a v0.1.0 -m "initial public release" master
    git push --tags
    

    六、用户发现bug

    对外发布后,发现有bug,为了处理bug,小b(小c)从master分支拉出来一个hotfix维护分支,提交修改以解决问题,然后直接合并回master和develop分支


    合并完毕后,删除hotfix分支。

    最后推荐一个可视化的git工具,SourceTree,方便新手同学使用

    引用

    http://blog.jobbole.com/23398/ 阮一峰:Git分支管理策略
    http://www.bootcss.com/p/git-guide/ git-简易指南
    http://nvie.com/posts/a-successful-git-branching-model/ A successful Git branching model
    https://www.sourcetreeapp.com/ sourcetree 分支管理工具
    http://semver.org/lang/zh-CN/ 语义化版本2.0.0

    相关文章

      网友评论

        本文标题:Git分支那点事儿(下):Git分支实战

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