zoukankan      html  css  js  c++  java
  • 【Git】05 分支管理

    查看所有分支:

    git branch

    Git将列出所有分支,如果是当前使用的分支,前面会加一个星号表示

    创建一个新的分支:

    git branch 分支名称

    创建一个分支并且指向该分支:

    git checkout -b 新的分支名称

    切换分支:

    git checkout 已有的分支名称

    删除分支:

    注意,删除分支需要先离开这个分支才能执行删除

    git branch -d 分支名称

    切换到仆人分支,再删除女仆分支

    在仆人分支下查看text.txt文件是可以的,即每一个分支都有同一个的工作区:

    在这个分支进行提交:

    这是在文件没有改变的情况下提交,似乎两个分支都共同具备这个版本

    但是更改文件之后的提交:

    vim text.txt
    insert new content
    :wq
    
    git add .
    git commit -m '仆人分支的第二次提交'

    分支会显示标注出来属于哪一分支下的版本:

    如果切换回Master主分支之后查看文件,会发现,主分支下的文件还是之前的样子

    现在Master主分支和Servant仆人分支是不一样的情况

    我们可以将其他分支合并到主分支中


    合并使用MERGE命令 将指定分支的版本合并到Master

    git merge 分支名称

    我们可以回忆下,在Servant分支上提交的时候,HEAD会指向最新提交的版本,因此,合并HEAD指向的版本保持不变

    最新版本的工作区文件记录也会更新过来:

    分支版本冲突:

    现在在Master主分支上提交一次版本:

    回到Servant分支:

    在text.txt文件上添加修改并且提交

    再回到Master主分支上查看文件:

    现在合并Servant的版本:

    就发现Git反馈错误了,自动合并失败,修复那些提交的结果

    查看文件:

    仓库状态还是一个未跟踪的一个状态

    我们可以把它提交,解决合并冲突:

    可以看到Master的分支正常了

    冲突问题?

    先合并
    
    再手动解决
    
    再添加
    
    再提交

    真实开发环境的分支操作:

    BUG分支:

    如果需要从正在开发的分支中切换到Master分支,没有提交的文件都将会被所有分支访问到

    为了解决这个问题Git提供了stash命令,可以把暂存区中没有提交的文件锁定

    这个文件将不会再访问到

    等BUG修复,再回来恢复锁定的文件:

    git stash list 查看锁定文件
    git stash pop 弹出锁定

     

  • 相关阅读:
    博弈最高位POJ 1704(Georgia and BobNim博弈)
    图片优化ios学习之真机测试 copy图片错误解决方案
    输入左移校草计划(Nim)
    类型函数C语言void关键字
    图层设置GDAL/OGR创建DXF文件中多图层的方法
    浏览器下载Firefox os 模拟器安装教程步骤详解
    工程图标ios学习之给程序设置logo
    实例收藏Android开发环境搭建和Android开发基础知识汇总值得收藏
    乱码插入mac mysql汉字乱码问题解决
    菜菜从零学习WCF一(WCF概述)
  • 原文地址:https://www.cnblogs.com/mindzone/p/13500748.html
Copyright © 2011-2022 走看看