▓▓▓▓▓▓ 大致介绍

  几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的。就比如我在没有学习Git之前,想实现我的一个小想法,但是又害怕影响已完成的工作,只有ctrl+c、ctrl+v,但是在Git中,甚是方便了许多。

  这篇博客主要讲以下几部分:

    ◆ 创建分支

    ◆ 合并分支

    ◆ 删除分支

▓▓▓▓▓▓ 创建分支

  在之前的学习中,都只有一个分支即 master分支 这是Git中主分支的默认名。在Git学习之路(4)- 撤销操作、删除文件和恢复文件 中提到了HEAD,表示当前的版本,在以前的学习中master和HEAD是这种关系:

  Git使master指向最新的提交,然后使HEAD指向master,就像C语言中的指针一样。

  创建一个分支:

    git branch 分支名 

  

  查看分支:

    git branch 

  切换到某个分支:

    git checkout 分支名

  创建并切换到某个分支:

    git checkout -b 分支名

  例如:

  首先用 git branch 查看了一下分支,发现就只有 master 一个分支,然后创建了 branch1 分支。查看分支,可以发现前面有*符号的分支,为当前分支。切换到branch1

  此时,用图来表示:

▓▓▓▓▓▓ 合并分支

  在分支上改好文件后,我们最后要把它合并到主分支上。

  

    git merge 分支名

  查看以和当前分支合并过的分支:

    git branch --merge

  查看未于当前分支合并过的分支:

    git branch --no-merge

  例如:

  首先查看了分支,可以看到一共有三个分支:branch1、branch2、master。然后查看和当前分支master合并过的分支,显示无。查看没有和master合并过的分支,有两个即:branch1、branch2。将branch1和master合并,继续查看和master合并过的分支和未合并过的分支

  此时,用图来表示:

  但是有时候,分支合并时并不是一帆风顺,例如两个分支如果对同一文件的用意部分进行修改,那么在合并时就会出现问题:

  如图:

  这时,合并分支时产生了冲突,Git会让你自己选择要保留哪个,在你的代码中会出现类似这样的提示信息:

  选择你就要保留的代码,删除不要的,在提交就可以了

▓▓▓▓▓▓ 删除分支

  当我们要删除一个分支时,要分为两种情况:

  删除与当前分支合并过的分支:

    git branch -d 分支名

  删除与当前分支没有合并过的分支:

    git branch -D 分支名

  例如:

  首先查看了与当前分支合并和没有合并过的分支,发现用-d删除未合并过的分支时,出现了错误,改用-D则成功删除

参考资料: 

      廖雪峰的官方网站-Git教程

      CODE帮助文档-Progit中文版

  

转载于:https://www.cnblogs.com/qqandfqr/p/6429875.html

Git学习之路(6)- 分支操作相关推荐

  1. git学习(五)分支操作和解决冲突

    分支的作用 协同开发 开发失败不会对主分支有影响 大胆创新 修复bug不会使得服务器停止工作(24小时网站而言) 创建新分支 在新建git,也就是git init时会自动创建master分支,也就是主 ...

  2. git学习(三)分支管理

    分支管理 git学习参考 廖雪峰官方网站 git基本操作,一篇文章就够了! 一.分支作用 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交 ...

  3. Git详细用法:Git概述 安装 常用命令 分支操作 团队协作 、GitHub、idea集成Git、idea集成GitHub、Gitee 码云、GitLab

    0 课程介绍 说明: 在公司想要使用idea集成git: 首选需要下载安装Git(查看第2章) 之后在中设置用户签名(查看3.1) 然后在idea中集成Git(查看第7章) - 0.1 学习目标 第1 ...

  4. Git学习(一)本地操作

    Git使用 廖雪峰官方网站 git基本操作,一篇文章就够了! 一.打开git 在指定要作为仓库的文件下打开 Git Bash Here 二.确定用户信息 第一次使用git,配置用户信息.目的是确定本地 ...

  5. Git学习5 GitLab与GitHub操作

    目录 1. GitLab与GitHub介绍 gitLab介绍 Github gitLab 注册 安装 gitLab 服务器 2. 私有GitLab服务器部署 3. GitLab创建仓库 4. GitL ...

  6. Git学习05 --分支管理02

    1.冲突 产生冲突后,查看readme.txt   可以看到冲突内容 <<<<<<< ======= >>>>>>> ...

  7. Git学习之路(一)

    最近开始学习使用一下git Git和SVN的区别:SVN是集中式版本控制的代表 Git是分布式版本控制中心的代表 Git简易图 Git和GitHub的区别: GitHub是Git的一个代码托管中心 在 ...

  8. Git 学习之路-1

    概述 因工作的需要以及个人对Git 版本控制软件强大功能的兴趣,开始通过蒋鑫老师编著的Git 权威指南一书进行学习,并在学习过程中整理如下的学习笔记. Git 是一款分布式版本控制系统,有别于CVS和 ...

  9. Git学习系列(六)解决分支冲突及分支管理策略

    2019独角兽企业重金招聘Python工程师标准>>> 解决分支冲突 通常当Git无法自动合并分支时,就必须首先解决冲突后,再提交. 下面咱们先创建一个分支并切换到b1分支: 修改咱 ...

最新文章

  1. 设计模式之美:Memento(备忘录)
  2. 基因组重复序列注释-RepeatMasker安装和使用
  3. c语言中字符减减自符意思,C语言中的自加自减运算
  4. python自然语言处理课后答案
  5. hdu2102(bfs)
  6. 【转】家庭装修预算计算公式大全
  7. java无效字符 怎么解决_java.sql.SQLException: ORA-00911: 无效字符 解决方法
  8. 牛客网剑指offer编程实践21-30题
  9. 《Hadoop实战(第2版)》迷你书
  10. 东莞理工学院计算机学院论文,东莞理工学院本科生毕业设计(论文)重复率检测实施办法(试行)...
  11. 2019 live tex 发行版_TexLive 2019 安装指南
  12. WDI面板数据(1990-2020)
  13. android 铃音制作工具,来电铃声大全制作软件
  14. MAC下格式化移动硬盘
  15. Oracle数据库的整体结构
  16. IP地址 、域名、 URL、 端口
  17. 2021-06-22 9点30 程序外生活 - 中国A50指数 机器预测学习跟踪记录 - 周一晚上第一个较为正常的4小时反弹出现,日线底分型出现,量能上有持续反弹概率高。周月线持续跌势。
  18. 工作3年,看啥资料能月薪30K?
  19. 0 Day:操作系统的一些问题
  20. phpstorm集成phpunit

热门文章

  1. 【MyBatis笔记】17-多对多做左连接查询(查询老师,并且把关联的学生也查出来)
  2. 个人git指令成长史
  3. Windows域控 批量设置用户下次登录 修改密码【全域策略生效】
  4. Eclipse的设置、调优、使用(解决启动卡顿等问题)
  5. 地产IT人福利:帆软地产BI解决方案全解析
  6. 解决flex打包成exe之后不能升级的问题
  7. python学习精华——成长篇
  8. cpython知乎_Numpy为什么可以用C语言写?
  9. 华为云龙api自动化工具_聊聊华为GDE刚发布的一体化低门槛开发平台ADC 2.0
  10. mysql proxy无法连接_客户端无法通过4040端口连接到mysql proxy