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 弹出锁定

     

  • 相关阅读:
    算法导论--第七章、快速排序
    PS操作
    【字符编码】彻底理解字符编码
    HTML网页设计-代码效果记录
    Ubuntu 18.04 nvidia driver 390.48 安装 TensorFlow 1.12.0 和 PyTorch 1.0.0 详细教程
    cmake更新版本简记
    计算机图形学(二)——微表面模型
    计算机图形学(一)——辐照度学概述
    蒙特卡洛积分与重要性采样详解
    for循环提高内存访问效率的做法
  • 原文地址:https://www.cnblogs.com/mindzone/p/13500748.html
Copyright © 2011-2022 走看看