Git学习之路(6)- 分支操作
▓▓▓▓▓▓ 大致介绍
几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的。就比如我在没有学习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)- 分支操作相关推荐
- git学习(五)分支操作和解决冲突
分支的作用 协同开发 开发失败不会对主分支有影响 大胆创新 修复bug不会使得服务器停止工作(24小时网站而言) 创建新分支 在新建git,也就是git init时会自动创建master分支,也就是主 ...
- git学习(三)分支管理
分支管理 git学习参考 廖雪峰官方网站 git基本操作,一篇文章就够了! 一.分支作用 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交 ...
- Git详细用法:Git概述 安装 常用命令 分支操作 团队协作 、GitHub、idea集成Git、idea集成GitHub、Gitee 码云、GitLab
0 课程介绍 说明: 在公司想要使用idea集成git: 首选需要下载安装Git(查看第2章) 之后在中设置用户签名(查看3.1) 然后在idea中集成Git(查看第7章) - 0.1 学习目标 第1 ...
- Git学习(一)本地操作
Git使用 廖雪峰官方网站 git基本操作,一篇文章就够了! 一.打开git 在指定要作为仓库的文件下打开 Git Bash Here 二.确定用户信息 第一次使用git,配置用户信息.目的是确定本地 ...
- Git学习5 GitLab与GitHub操作
目录 1. GitLab与GitHub介绍 gitLab介绍 Github gitLab 注册 安装 gitLab 服务器 2. 私有GitLab服务器部署 3. GitLab创建仓库 4. GitL ...
- Git学习05 --分支管理02
1.冲突 产生冲突后,查看readme.txt 可以看到冲突内容 <<<<<<< ======= >>>>>>> ...
- Git学习之路(一)
最近开始学习使用一下git Git和SVN的区别:SVN是集中式版本控制的代表 Git是分布式版本控制中心的代表 Git简易图 Git和GitHub的区别: GitHub是Git的一个代码托管中心 在 ...
- Git 学习之路-1
概述 因工作的需要以及个人对Git 版本控制软件强大功能的兴趣,开始通过蒋鑫老师编著的Git 权威指南一书进行学习,并在学习过程中整理如下的学习笔记. Git 是一款分布式版本控制系统,有别于CVS和 ...
- Git学习系列(六)解决分支冲突及分支管理策略
2019独角兽企业重金招聘Python工程师标准>>> 解决分支冲突 通常当Git无法自动合并分支时,就必须首先解决冲突后,再提交. 下面咱们先创建一个分支并切换到b1分支: 修改咱 ...
最新文章
- 设计模式之美:Memento(备忘录)
- 基因组重复序列注释-RepeatMasker安装和使用
- c语言中字符减减自符意思,C语言中的自加自减运算
- python自然语言处理课后答案
- hdu2102(bfs)
- 【转】家庭装修预算计算公式大全
- java无效字符 怎么解决_java.sql.SQLException: ORA-00911: 无效字符 解决方法
- 牛客网剑指offer编程实践21-30题
- 《Hadoop实战(第2版)》迷你书
- 东莞理工学院计算机学院论文,东莞理工学院本科生毕业设计(论文)重复率检测实施办法(试行)...
- 2019 live tex 发行版_TexLive 2019 安装指南
- WDI面板数据(1990-2020)
- android 铃音制作工具,来电铃声大全制作软件
- MAC下格式化移动硬盘
- Oracle数据库的整体结构
- IP地址 、域名、 URL、 端口
- 2021-06-22 9点30 程序外生活 - 中国A50指数 机器预测学习跟踪记录 - 周一晚上第一个较为正常的4小时反弹出现,日线底分型出现,量能上有持续反弹概率高。周月线持续跌势。
- 工作3年,看啥资料能月薪30K?
- 0 Day:操作系统的一些问题
- phpstorm集成phpunit
热门文章
- 【MyBatis笔记】17-多对多做左连接查询(查询老师,并且把关联的学生也查出来)
- 个人git指令成长史
- Windows域控 批量设置用户下次登录 修改密码【全域策略生效】
- Eclipse的设置、调优、使用(解决启动卡顿等问题)
- 地产IT人福利:帆软地产BI解决方案全解析
- 解决flex打包成exe之后不能升级的问题
- python学习精华——成长篇
- cpython知乎_Numpy为什么可以用C语言写?
- 华为云龙api自动化工具_聊聊华为GDE刚发布的一体化低门槛开发平台ADC 2.0
- mysql proxy无法连接_客户端无法通过4040端口连接到mysql proxy