-
定义:
- Git 的默认分支是 master,所有的 commit 会在分支上自动移动。在多次提交之后,master 分支指向最后的 commit object 提交对象链)
- Git 的 master 分支并不特殊,跟其他分支没有区别。之所以每一个仓库都有 master 分支,是因为 git init 命令默认创建它。
- 很多人认为 master 分支是稳定、无 bug 的分支。而 develop 往往预示着新功能,不稳定的分支。这和分支策略有关,但本质这两个分支没区别
-
分支创建:
- git branch:查看分支
- git branch 分支名:创建该分支
- git checkout 分支名:切换到该分支
- git checkout -b 分支名:创建并切换到该分支
-
分支删除:
- git branch -d 分支名:删除该分支
- git baranch -D 分支名:强制删除该分支
- 注意:
- 不能删除自己所在的分支
- 可以删除已经合并或者没有变化的分支
- 分支发生变化后只能强制删除
-
合并分支:
- git merge 分支名:合并该分支(会出现分支冲突情况)
- 在 dev 分支上添加或者修改一个文件名,切换到 master 分支上合并 dev 分支,发现也添加了这个文件
- git merge dev 文件名 --合并分支后 master 分支上也出现了 dev 修改的内容,此时 dev 分支就允许被删除
-
分支的本质:
- master 执行的是提交
- HEAD 是执行当前的分支,当前在哪个分支就指向哪个分支
- 当我们切换分支的时候 HEAD 也会跟着切换
- 当进入 .git 文件夹查看 HEAD 的内容的时候,所有的分支不同,文件内部指向就不同
- master 分支
- dev 分支
- Git 的分支与 svn 不同,svn 是整体拷贝一份分支,git 用的是指针
- 如果 dev 发生修改提交,dev 的版本就会向后移动
- 在 master 分支上合并之后就会出现下面的图
-
分支的冲突:
- 我们在 dev 分支里面修改 A.txt 文件添加一行后提交
- 在 master 分支里面修改 A.txt 文件同时添加一行后提交
- 合并后就会出现冲突情况
- <<<<<<<<<<HEAD:当前所指向的分支修改的
- >>>>>>>>>>dev:dev 分支修改的
- 我们需要手动合并,提交该文件
- 我们可以通过图形来查看冲突的提交日志:
- git log --graph
Git进阶之旅:Git 分支管理
2025/2/8 3:52:53
来源:https://blog.csdn.net/SOS_suyan/article/details/145406579
浏览:
次
关键词:Git进阶之旅:Git 分支管理
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
热文排行
- 《警世贤文》摘抄:处人篇、受恩篇、宽人篇、听劝篇、劝善篇(多读书、多看报、少吃零食多睡觉)
- Vmess协议是什么意思? VLESS与VMess有什么区别?
- Android显示系统(08)- OpenGL ES - 图片拉伸
- `git restore` 和 `git checkout` 用于丢弃工作区的改动, `git switch` 和 `git checkout` 用来切换分支
- nccl 03 记 回顾:从下载,编译到调试 nccl-test
- 【CVE-2024-38077】核弹级Windows RCE漏洞如何自检并修复该漏洞(附批量漏洞检测工具及分析伪代码)
- 【HW必备】用友NC-Cloud存在17处漏洞合集
- windows11 ,ubuntu20.04双系统,ubuntu没有wifi的解决方式
- AD24设计步骤
- ctfshow-web入门-php特性(web132-web136)