[git]git中分支的概念
什么是分支:
当一个分支指向一个节点时,节点的内容就是分支的内容,与HEAD指针的概念很像,但是分支可以有多个
举个例子:
你们的 App 经历了千辛万苦终于发布了v1.0版本,由于需求紧急v1.0上线之后便马不停蹄的开始v1.1,正当你开发的兴起时,QA同学说用户反馈了一些bug,需要修复然后重新发版,修复v1.0肯定要基于v1.0的代码,可是你已经开发了一部分v1.1了,此时怎么搞?
先看左边示意图,假设C2节点既是v1.0版本代码,上线后在C2的基础上新建一个分支ft-1.0
再看右边示意图,在v1.0上线后可在master分支开发v1.1内容,收到QA同学反馈后提交v1.1代码生成节点C3,随后切换到ft-1.0分支做bug修复,修复完成后提交代码生成节点C4,然后再切换到master分支并合并ft-1.0分支,到此我们就解决了上面提出的问题
除此之外利用分支还可以做很多事情,比如现在有一个需求不确定要不要上线,但是得先做,此时可以单独创建一个分支开发该功能,等到啥时候需要上线直接合并到主分支即可。分支适用的场景很多就不一一列举了。
注意点
当在某个节点创建一个分支后,并不会把该节点对应的代码复制一份出来,只是将新分支指向该节点,因此可以很大程度减少空间上的开销。一定要记着不管是HEAD还是分支它们都只是引用而已,量级非常轻
git branch 查看当前本地分支 *星号标的是当前分支
git branch -a 查看所有(本地和远程)分支 ,remotes的是远程分支
git switch/checkout 分支名 切换分支
git checkout --track origin/分支名,会自动创建并切换到本地分支,并且追踪远程分支
git branch -d 分支名 删除本地分支
相关文章
- 开发 Django 博客文章阅读量统计功能
- 使用 Docker 让部署 Django 项目更加轻松
- 教你用开源 JS 库快速画出 GitHub 章鱼猫
- 《HelloGitHub》第 42 期
- 使用 Fabric 自动化部署 Django 项目
- 是时候让大家看看你用django写出来的博客了(内含部署教程视频)
- C/C++ 通过CRC32实现反破解
- C# 笔记之基本语法
- C# 静态与动态数组
- C# 字符与字符串操作
- C# 使用正则表达式
- C# 中的函数与方法
- C# 中类与继承等概念
- PHP 中操作数组的知识点
- PHP 字符串与文件操作
- C/C++ 病毒破坏手法总结
- C/C++ 实现常用的线程注入
- PHP 文件上传代码审计
- C/C++ 简易异或加密的分析
- C/C++ Npcap包实现ARP欺骗