什么是分支

分支是指在主干道上分支的支线,可以前往不同的地方,也可以到达相同的终点(只是实现的路线不同)。Git指向团队开发中的个体,各开发者可以有自己的分支,开发时不会影响其他分支的开发进度。分支完成阶段性工作后,可以整合到上级分支。(功能开发完成,调试OK )这个上级分支一般是指Git默认创建的Master分支,这个分支不参与开发,只用于项目的管理、维护、集成、发布。

Git分支

Git分支不是复制所有数据,而是指向提交对象的指针。在执行“转移”(Git add )操作时,git会计算每个文件的有效性值,并将当前版本的文件快照保存在转移区域中并等待提交。此外,在执行git commit操作时,计算出的有效性值和快照将保存为树对象。每个commit对象都包含指定tree对象的哈希值,每个tree对象都包含指定blob对象的哈希值,因此Git不是文件的变化或差异,而是一系列不同时间点的文件由于Git分支的创建和切换实际上只是创建指针和查找指针,因此分支的创建和分支的切换几乎都是即时的。找到指针指向的commit对象,然后将工作区恢复为该commit对象所指向的文件快照。 

Git提交

Git在每次提交时合并为一个时间线,每次提交时前进并形成分支。每次提交时,都会生成记录当前位置的id (散列值),头指向最后提交的位置)或当前分支。

创建分支

分支的创建本质上只是创建指向commit对象的指针,Git在初始化时自动创建第一个master分支和指向master的指针head。命令:可以使用 git branch 分支名称 创建指向当前提交对象的分支主节点的分支。也就是说,将在主节点上创建分支。VSCode创建分支也很容易,在左下角单击分支,下拉框就会出现。可以在此处创建新分支,也可以选择现有分支进行切换。

查看分支

使用指令:git branch可以看到所有的本地分支。其中标有*的表示当前的工作分支,如果想查看分支的详细信息,则命令:git branch -v可以查看分支所指的ID和提交信息

切换分支

要使用分支,必须首先切换到该分支。可以使用命令  git checkout 分支名称 来实现可切换的分支。本质上是修改头部指针的指针,切换到分支,使工作区的内容指向分支最后提交的快照的内容。此时,master分支在提交时不移动,而是随着提交操作移动。命令:可以使用git checkout -b分支名称直接创建和切换指定的分支。这等同于运行了两个命令:切换新分支和分支。

分支合并

当分支完成了阶段性的开发完并调试好后我们就可以进行合并了,使用指令:git merge <分支名> 可以将指定分支合并到当前分支。注意这里是提交到当前分支,所以合并之前一定要确认下当前位于哪个分支上。如果要合并到master分支就需要先切换到master分支上,再执行git merge <分支名> 合并操作。当合并(merge)发生时会产生新的提交(commit),当前分支会自动向前移动并生成新的分支合并记录了。合并不会影响被合并的分支,可以重新切换到该分支继续提交修改。

删除分支

当分支任务完成并与其他分支合并之后,如果该分支不再参与后续工作或者不需要该分支时就可以进行删除。利用指令:git branch -d <分支名> 可以删除指定分支,当然删除分支前需要先切换到其他分支才能进行删除操作。如果要强制删除分支的话可以使用指令:git branch -D <分支名> ,不管该分支有没有合并到当前分支的提交记录都进行删除。

恢复分支

对于已经有提交记录的分支删除后,实际上只是删除指针其commit记录还被保留,恢复之前我们可以通过指令:git reflog查找该分支最后一次提交时的ID(最前面的hash值),我们可以根据ID创建新的分支来恢复之前的分支数据。恢复指令为:git branch <分支名> <hash值> ,当然你也可以从远程仓库重新clone一份。

总结:

分支可以从主线上分离开来,在不影响主线的同时继续工作。在分支上开发并调试好了后再合并到主分支,那么每个人就可以负责不同的模块开发而不会影响到别人。所以利用分支不仅可以高效的管理项目资源,也可以更好的协调人力进行并行开发,提高开发效率降低开发周期。以上内容是小编给大家分享的【Git实战:branch分支操作详解】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

Git实战:branch分支操作详解相关推荐

  1. Git 远程库操作详解

    CSDN GitHub Git 远程操作详解 AderXCoding/system/tools 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢 ...

  2. Git 远程操作详解(再不会 Git 就真的没团队收你了,嗯哼)

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  3. Redis实战和核心原理详解(4)Redis存储Key的一种设计实现方式:模式匹配

    注意:此方案仅为演示Redis 的使用,正式生产环境切勿使用! 相关文章: Redis实战和核心原理详解(1)Centos7.0下安装Redis 5.0详细过程和使用常见问题 Redis实战和核心原理 ...

  4. SVN的Windows和Linux客户端操作详解

    SVN的Windows和Linux客户端操作详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Windows客户端操作 1.安装SVN客户端 a>.去官网下载svn软件 ...

  5. java switch 值_Java switch多值匹配操作详解

    这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...

  6. Git常用命令——分支操作

    Git常用命令--分支操作 分支操作 git branch 列出,创建或者删除分支 git branch <branchName> :创建一个分支 git branch -d <br ...

  7. ext4数据恢复实战及文件系统结构详解

    ext4数据恢复实战及文件系统结构详解 一.前言 二.ext4数据恢复实战 三.ext4文件系统结构详解 四.ext4分区结构 五.ext4目录结构 六.目录项的删除特性 七.ext4文件结构 八.最 ...

  8. java case 多个值_Java switch多值匹配操作详解

    这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...

  9. 204B实战应用-LMK04821代码详解(二)

    204B实战应用-LMK04821代码详解(二) 一. SPI协议 通过阅读LMK04821数据手册,我们可以从中知道,可以通过SPI协议对LMK04821进行寄存器的配置工作,进而实现我们设计所需要 ...

最新文章

  1. node上传资源到又拍云
  2. 操作系统信号量与P、V操作 初步认识整理
  3. 洛谷P3368 【模板】树状数组 2(Python和C++代码)
  4. 《架构漫谈》读书笔记五
  5. 两数之和C++代码实现超详细讲解
  6. 人工智能第六课:如何做研究
  7. HDU-1251 统计难题 map写法
  8. 令人迷惑的硬币翻转(洛谷P1146题题解,Java语言描述)
  9. 【Junos】手动生成Core-dump文件
  10. Python实战从入门到精通第十九讲——自定义字符串的格式化
  11. 神策数据推荐系统:中文关键词提取新模型
  12. 清华大学计算机网络体系结构,清华大学计算机网络体系结构讲义ch32(OSPF).pdf
  13. Android之WindowManager+OpenGL+EGL绘制(十七)
  14. C# 自定义类型通过实现IFormattable接口,来输出指定的格式和语言文化的字符串(例:DateTime)...
  15. 软路由虚拟服务器,带你入门软路由 篇三:软路由也玩虚拟化——轻松几步教你配置Esxi网卡直通和软路由虚拟机设置(保姆级教程)...
  16. jpg图片怎么压缩大小?简单快捷的方法教给你
  17. (转载)IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?
  18. 新手教学,如何快速地画一个PCB板子
  19. jadx 1.4.5反编译包不全
  20. abp构建Web API服务

热门文章

  1. 查看并设置当前Mysql隔离级别
  2. 软考 软件设计师上午题uml
  3. 均匀分布的公交站等车问题
  4. 密评知识测试卷(二)
  5. 学UI设计能从事哪些工作 如何学好UI设计
  6. 阿里云搭建web应用超详细全套完整图文教程!菜鸟也能看懂!
  7. html文档头部标记,下列选项中,属于HTML文档头部相关标记的是( )。
  8. 安装kali linux后的准备工作
  9. delphi 手机访问lan_WiFi6值得升级?华为荣耀旧手机网速翻倍?华为AX3 Pro最强评测!...
  10. 《淘宝网开店 进货 运营 管理 客服 实战200招》——导读