ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Git分支管理:创建、切换、合并与删除

Git分支管理:创建、切换、合并与删除 一、理解Git分支为什么需要它1.1 分支的本质Git的分支本质上是一条独立的提交时间线-26。每次提交代码Git都会为当前分支创建一个新的节点。默认情况下Git会创建一个名为master或main的主分支-26。很多人把Git分支理解为一条独立的时间线但在实战中分支更应被视为一个独立的工作上下文或功能沙箱-27。它允许你将不稳定的实验性代码、紧急的线上修复、长期演进的新特性与稳定的主代码库隔离开来-27。Git的分支实现极其轻量它本质上只是一个指向某个提交commit的可变指针。创建分支的成本几乎为零因为它只是新建了一个41字节的文件-27。这种设计哲学鼓励我们“早创建、多创建、勤合并”。1.2 分支的核心价值没有分支管理时开发者常会陷入这样的困境想提交代码保存进度但功能还没写完线上出现紧急Bug需要修复但本地正在开发新功能多人开发同一个项目同时修改同一个文件而Git分支通过 “隔离开发环境” 完美解决了这些问题-26并行开发多个功能可以同时进行互不干扰风险隔离新功能开发在独立分支进行不影响主分支稳定性高效协作每个人管理自己的分支最后通过合并整合1.3 HEAD指针在Git中有一个特殊的“指针”叫HEAD它始终指向当前正在工作的分支-26。可以通过查看.git/HEAD文件来验证# 查看HEAD指针指向 cat .git/HEAD # 输出结果当前在master分支ref: refs/heads/master二、分支基础操作2.1 查看分支# 查看本地所有分支*表示当前所在分支 git branch # 查看所有分支包括远程分支 git branch -a # 查看本地分支和远程分支的最后提交 git branch -av2.2 创建分支# 创建分支不切换 git branch dev # 创建分支并立即切换 git checkout -b dev2注意分支的创建是在当前HEAD指针所指向的提交点创建。2.3 切换分支# 切换到指定分支 git checkout dev # 切换到上一个分支 git checkout -2.4 合并分支# 将指定分支合并到当前分支 git merge dev2 合并的本质将两个分支的修改整合在一起。如果目标分支是源分支的直接祖先Git会执行“快进合并”fast-forward。2.5 删除分支# 删除已合并的分支 git branch -d dev # 强制删除未合并的分支 git branch -D dev2注意不能删除自己当前所在的分支。三、实战案例完整的分支生命周期场景开发一个新功能# 1. 创建并切换到功能分支 git checkout -b feature/login # 2. 在功能分支上开发 echo login feature login.txt git add login.txt git commit -m add login feature # 3. 切回主分支 git checkout master # 4. 合并功能分支 git merge feature/login # 5. 删除功能分支 git branch -d feature/login四、分支的本质指针的移动分支的本质可以通过.git目录来理解master分支指向的是最新的提交HEAD指向当前所在的分支当在dev分支提交时dev指针向前移动而master保持不变# 查看HEAD指向 cat .git/HEAD # master分支时ref: refs/heads/master # dev2分支时ref: refs/heads/dev2五、总结操作命令说明查看分支git branch查看本地所有分支创建分支git branch name创建但不切换创建并切换git checkout -b name一步到位切换分支git checkout name切换到指定分支合并分支git merge name合并到当前分支删除分支git branch -d name删除已合并分支分支是Git最核心的特性掌握分支操作是高效使用Git的基础希望这篇博客对你有所帮助。
返回列表