zoukankan      html  css  js  c++  java
  • git分支介绍和常用操作

    一、分支基本介绍:

    分支:就是从当前工作目录分离的代码副本(使用分支,目的是从主线任务内分离开,在副本上去做其他小功能,这样就不会影响主线任务了)

    分支可以分为:

    1、主分支master:   第一次向git仓库中提交更新记录时自动产生的一个分支

    2、开发分支develop: 作为开发的分支,基于master分支创建的

    (联系:一般不会在主分支上开发,一般都是有任务了分离一个或者多个开发分支来分别开发,完成后部署测试,完成测试后最后合并到主分支上)

    3、功能分支feature:作为开发具体功能的分支,基于开发分支创建

    作用:有功能任务后,从开发分支上分离一个或多个功能分支来进行具体的功能开发,完成后合并到开发分支。(当开发分支累计到一定数量时,将开发分支提交到主分支上)

    ----->>上述的主分支-->>开发分支-->>功能分支,换句话理解就是:

    主分支(测试环境)

    开发分支(开发人员本地环境)

    功能分支(开发人员在自己本地环境内分离的一个甚至多个小分支,来开发不同功能模块)

    分很多个分支目的:就是保证主分支的稳定性,保证分支的稳定性,从而减少代码给环境带来的影响

     二、分支常用操作命令

    git branch                 查看分支

    Git branch 分支名称          创建分支

    Git checkout 分支名称      切换分支(全部提交后切换,否则切换会将分支内容携带走)

    Git merge 来源分支          合并分支

    Git branch -d 分支名称     删除分支(-d表示分支被合并后才允许删除(不然实在想删除也可进行-D强制删除))

     

    具体操作:

    查看分支命令:git branch

    创建分支命令:git branch 分支名称

    切换当前所处分支命令:git checkout 分支名称

    (注意:如果分支内有内容存在,请提交到git仓库后再切换分支,否则会将dev分支内的内容携带切换到另外的分支内)

    --------------->>当然也有解决办法:看后面的临时保存方法

     

    合并分支:git merge 分支名称

    (如果当dev开发分支内的文件内容都完成开发了,要合并到主分支上,那么此时要切换到主分支上,再进行合并)

    合并完成后开发分支其实还是存在的。

     

    删除分支:git branch -d 分支名称

    注意:

    如果删除的分支有内容存在没有被合并,默认是不允许删除的,这是为了防止在没有合并分支内容的情况下误删文件

    (如果是真的不想留下分支和里面的内容了,那么就可以通过:git branch -D 分支名称 ,进行强制删除)

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    注意!!!

    git中,可以暂时提取分支上所有的改动并存储;让开发人员得到一个干净 的工作副本环境,临时进入其他工作内容。

    临时保存改动:git stash

    恢复改动: git stash pop

    (使用场景:正在分支上开发功能,但是此时需要切换进入其他一个分支内进行修改bug,那么怎么办呢?

    因为此时没有开发完加上 还没提交,一旦切换不就前功尽弃了?那么此时就可以进行临时保存,等会儿再进行恢复)

     

    操作:

    1、dev分支上正在开发,

    2、收到任务要在主分支master上修复问题。

    3、此时可以在dev分支上输入命令:git stash ,进行临时保存剪切

    4、然后就可以进行切换到主分支上操作啦(也不用担心没有提交不允许切换的问题了)

    5、等待在master主分支上完成任务后,此时就可以切换回dev分支上,输入恢复命令:git stash pop 进行恢复,此时就可发现一切都正常进行着

     

     

     

  • 相关阅读:
    【Codeforces 475F】—Meta-universe(Set)
    【Codeforces 475F】—Meta-universe(Set)
    【UOJ #79】—一般图最大匹配(带花树)
    【UOJ #79】—一般图最大匹配(带花树)
    【NOIp2019模拟】题解
    【NOIp2019模拟】题解
    涉及到的业务逻辑总结
    2016-9-14
    Spring MVC
    2016-9-12
  • 原文地址:https://www.cnblogs.com/QiKa/p/14002290.html
Copyright © 2011-2022 走看看