💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## 3.2 分支的新建与合并 ### 3.2.1 新建分支并切换 使用 `checkout` 命令可以切换当前已经存在的分支,那么如果想要切换到当前不存在的分支上(即新建分支),可以添加参数 `-b` : ``` $ git checkout -b [branch] ``` 这条指定相当于下面两个命令: ``` $ git branch [branch] $ git checkout [branch] ``` ### 3.2.2 分支的合并 Git 的分支特性支持将两个分支合并,如果想要合并两个分支,可以使用 `merge` 命令: ``` $ git merge [branch] ``` 该指令会将指定分支合并到当前分支上,分支的合并会有两种形式,Git 采用何种形式合并分支是根据两个分支的关系决定的。 **fast-forward** 如果当前分支所指向的提交是被合并分支的直接上游时,Git 只是简单地将指针向上游移动: ![](https://img.kancloud.cn/6b/a4/6ba4d206796514d48adbd576a47accfd_800x288.png) **auto-merging** 当两个分支在更早的提交上就已经分叉开来,在合并分支时: ![](https://img.kancloud.cn/76/3b/763b9131767b83e5c530d0b8c6547ae5_800x381.png) Git 会自动创建一个新的提交指向它,这个被称作一次合并提交,它的特别之处在于他有不止一个父提交: ![](https://img.kancloud.cn/42/1a/421a1b911c6bdfd0a06712e234fc37a5_800x316.png) **遇到冲突的分支合并** 有时候合并操作不会特别顺利,如果在两个分支中,对同一个文件进行了不同的修改,这时的合并需要手动解决冲突后再提交,`git status`可以查看冲突文件。Git会用`<<<<<<<`,`=======`,`>>>>>>>`标记出不同分支的内容。 如果想要使用图形化工具,可以运行 `git mergetool` 命令,该命令会启动一个合适的可视化合并工具。