企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>## 分支在实际中有什么用呢? 假设你们公司的项目已经上线了,产品经理觉得应该新增一些新的功能,但是为了保险起见,你肯定不能在当前项目上直接进行开发,这时候你就需要创建分支了。 又或者你准备开发一个新功能,但是需要两周才能完成,第一周你写了一半的代码,如果立刻提交,不完整的代码会导致别人不能干活了。 >## 创建分支 ``` git branch 分支名 ``` 比如创建一个叫做`dev`的分支 ``` git branch dev ``` 使用`git branch -a`可以查看所有的分支,*开头的表示你现在处于哪个分支 ![](https://img.kancloud.cn/fa/68/fa689dbede5e01f89e729f748c1383e4_678x71.png) 使用`git log --oneline --decorate --graph --all`可以看到精简版的日志与分支信息 ![](https://img.kancloud.cn/2d/df/2ddf258e1d5bce096d33c2dad0c16795_864x148.png) >## 切换分支 ``` git checkout 分支名 ``` 切换到刚刚创建的`dev`分支 ``` git checkout dev ``` ![](https://img.kancloud.cn/d0/66/d0666df64b2d2793086fc5243e2ab2b5_922x326.png) >## 合并分支与删除分支 ``` git merge 分支名 ``` 比如我在`dev`分支下一顿骚操作完成后,想合并到master分支,先切换到master分支执行命令`git merge dev` 如果出现如下, 则表示有冲突,如果没有冲突就完成了。 ![](https://img.kancloud.cn/0b/15/0b15c2aa972150dfebcac9d40d456ef4_768x96.png) 表示a.log有问题在合并是有冲突,意思是说现在你需要先解决冲突的问题,Git 才能进行合并操作。所谓冲突,无非就是像两个分支中存在同名但内容却不同的文件,Git 不知道你要舍弃哪一个或保留哪一个,所以需要你自己来决定。 ![](https://img.kancloud.cn/0e/5b/0e5b127c3fd0852faaf9cab7184ed5b8_551x260.png) 以`======`为界,上到`<<<<<<< HEAD`的内容表示当前分支,下到`>>>>>>> dev`表示dev 分支,之间的内容就是冲突的地方。 修改完冲突后,`git commit -am "注释"`再次提交即可 一般在使用合并完该分支后,该分支的使命也就完成了。可以删除了。 ~~~ git branch -d 分支名 ~~~