一、什么是分支
1.在版本控制系统(如Git)中,分支(Branch)是代码库的不同线路或路径,用于同时进行不同的开发工作。分支可以将代码库的状态 ‘‘复制’’ 到一个独立的环境中,使得在这个分支上进行的更改不会影响到其他分支。
2.使用分支的好处是可以同时进行多个并行的开发任务,每个任务都在自己的分支上进行。这样可以有效地隔离不同的功能开发、修复bug或其他任务,而不会互相干扰。完成一个任务后,可以将该分支的更改合并回主分支(通常是"master"或"main"分支),从而将新功能或修复应用到代码库的主干中。
3.分支让开发团队能够更灵活地管理代码的开发和发布过程。它们可以同时处理多个功能或任务,并且在开发过程中可以频繁地创建、合并和删除分支,以适应不同的开发需求。
4.在分支内部,所有与该分支相关的更改都是相对独立的,因此可以在不影响其他分支的情况下进行实验、测试和修改。分支也有助于团队合作,因为不同的开发人员可以在各自的分支上独立工作,而不会相互干扰。
5.总之,分支是版本控制系统中的一个重要概念,它提供了并行开发、隔离工作和代码管理的机制,使得团队能够更加高效地协同工作和管理代码库。
- 总结:分支就是基于主支创建出来的一个"副本"(不是简单复制),在分支上修改的内容不会直接影响主支,且各个分支的内容相互独立。在分支上更新调试好后在将分支与主支合并,完成更新。分支只存放修改和更新的内容,而与主支一样的内容会直接引用。
- 内容补充:
在 Git 中,创建分支并不是将代码库的完整副本复制一份,而只是创建了一个指向特定提交(commit)的指针。实际上,在创建分支时,Git 仅仅创建了一个新的指针,该指针指向当前所在分支的最后一个提交(commit)。这样,新分支就可以独立地进行新增、修改和删除文件操作,而不会影响其他分支。由于 Git 使用的是基于快照(snapshot)的版本控制系统,每次提交(commit)都会记录项目的状态,因此创建新的分支并不需要复制整个代码库的副本。分支间共享大部分历史提交(commits),只有新分支上的更改会产生新的提交记录。因此,通过创建分支,您实际上是在给定的提交(commit)上创建了一个新的指针。这使得在不同的分支之间进行切换、合并和处理独立的开发任务变得非常高效和灵活。
二、相关命令
-
查看分支
git branch
-
创建分支
git branch 分支名
-
删除分支
git branch -d 分支名
-
切换分支
git checkout 分支名称
-
分支合并(可能会产生冲突,需要手动解决)
git merge 合并分支的名称
注意:切换分支在合并,会合并到自己所在分支
-
查看远程分支
git branch -r
-
推送并创建远程分支
git push origin 分支名字
-
将远程分支的内容拉回本地
git pull origin 分支名字
-
删除远程分支
git push origin --delete 分支名字
三、简单实例演示
- 只在本地仓库演示:
1. 新建一个文件夹,在该目录下打开git命名
使用 git init 初始化本地仓库 成功后会出现 .git文件 (如果没有点击 菜单栏上的 查看–勾选 隐藏 项目)
然后 新建一个文件,如果没有文件无法查看分支
新建文件内容(方便与后面分支比较)
2.将新建文件添加到缓冲区,然后提交
git add .
git commit -m “第一次提交,初始化仓库”
3.查看分支
git branch
可以看到当前只有一个分支 master
4.新建一个dev分支
git branch dev
然后查看分支
git branch
可以看到已经有dev 和 master 两个分支,当前在master分支
5.切换分支到dev
git checkout dev
查看当前分支
git branch
如图:已经切换到 dev 分支
6.查看文件目录,发现文件和以前一样,因为dev分支是基于master的
打开index.js文件也是一样
然后添加一些内容:console.log(‘我是dev分支新加的内容’);
7. 添加到缓存区,然后提交(一定要有这一步)
git add .
git commit -m “dev-新增内容”
8. 切换到master分支查看内容
git checkout master
查看当前分支(只是确认切换成功)
git branch
9. 打开文件,查看index.js的内容
内容和以前一样,说明在dev分支修改的内容没有影响到master
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
…(img-FLnlxGIO-1714405078763)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新