• Git的使用---6. 分支管理


    1. 分支介绍

    分支的简单的理解就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了。Git的分支也是一个杀手锏级别的功能!

    为了和我们的实际工作更加接近,我们讲个世纪的例子,让大家体会一下分支:

    比如:你现在正在a.php里面做新功能的增加,大约写了300行代码,突然,线上运行的代码爆出了一个bug,需要你放下一切手头工作,全力解决这个bug,你去检查后发现,原来是这个a.php,出了点bug,修改的话也就是20来行代码完事。

    这时候问题来了:你从线上直接down下a.php修改的话,这个bug当时处理了,但是等前面的那个300行代码的后续工作做完,再传到线上的时候,就把这次的bug修改又覆盖掉了,bug依然会再次出现。如果你直接在你的开发版本上的a.php中修改的话,难保你新写的这300行代码不出新的bug。这时候咋办?

    这时候,我们的分支概念就起效了,下面我们可以看一下流程:

    image

    2. 创建分支

    git branch 分支名
    

    git branch命令会列出所有分支,当前分支前面会标一个*号

    3. 切换分支

    git checkout 分支名
    

    创建并切换到新分支,可以使用:

    git checkout -b 分支名
    

    4. 合并分支

    git merge命令用于合并指定分支到当前分支,下面是一个例子:先切换到master分支,然后将新分支my合并到master分支

    git checkout master
    git merge my
    

    如果合并时加上--no-ff参数,表示禁用Fast forward模式合并,如:

    git merge --no-ff -m "merge with no-ff" my
    

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    5. 删除分支

    git branch -d 分支名
    

    6. 删除有内容的分支

    git branch -D 分支名
    

    7. 分支管理策略

    在实际开发中,我们应该按照几个基本原则进行分支管理:

    首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

    image

  • 相关阅读:
    重启停止的作业 bg和fg
    shell nohup 让脚本一直以后台模式运行到结束
    shell jobs查看作业
    shell 移除信号捕获
    shell 多进程运行程序
    shell 脚本后台运行
    python3 生产者消费者
    python3 生产者消费者(守护线程)
    python3 进程线程协程 并发查找列表
    python3 线程间通信
  • 原文地址:https://www.cnblogs.com/forget0909-Angle-Qi/p/9564519.html
Copyright © 2020-2023  润新知