前言
在项目开发中,通常会有好几个分支来分别对应各个环境如:开发环境、预发布环境、正式环境。每个环境都会对应有各自的分支,方便项目的发版。本文记录常用的分支创建及分支代码合并操作。
一、Git 分支
在 Git 中,分支(Branch)是用于隔离代码开发的核心机制,它允许你在不影响主代码的情况下,独立开发新功能、修复 bug 或进行实验性修改。
1.1 Git 的本地分支和远程分支
在 Git 中,本地分支(Local Branch)和远程分支(Remote Branch)是协作开发的核心概念,两者的定位、作用和交互逻辑不同。
1.1.1 本地分支
本地分支是存储在你自己电脑本地仓库(.git 目录)中的分支,仅对自己可见,完全由你控制,常用于日常开发的代码隔离,比如编写新功能、修复本地 bug 等,可自由提交、修改,无需担心影响他人。
1.1.2 远程分支
远程分支是存储在远程仓库(如 GitHub、GitLab 服务器)中的分支,所有有权限的团队成员都能访问,是团队协作的'共享媒介'。
1.1.3 Git 项目克隆分支的创建
通常我们将项目克隆到本地电脑,当你通过 IntelliJ IDEA 克隆远程仓库时:
- Git 会将远程仓库的所有分支信息拉取到本地(作为远程跟踪分支,存储在 .git/refs/remotes/ 目录)。
- 会自动创建并切换到与远程默认分支对应的本地分支(例如:远程默认分支是 main,则本地会创建 main 分支,并关联 origin/main)。
- 其他远程分支(如 origin/feature/login)不会自动生成对应的本地分支,需手动创建:使用 checkout 命令操作远程分支时,会自动创建对应的本地分支,并与远程分支建立关联(跟踪关系)。
[图片:检出对应的远程界面]
1.1.4 新建远程分支
新建远程分支有两种方式:方式 1 直接在 Git 仓库中基于某个分支创建远程分支;方式 2 先创建本地分支,然后在提交时自动在 Git 仓库创建远程分支。
方式 1: 直接在远程仓库上创建分支,输入分支名称确定即可。
方式 2: 基于某个本地分支创建一个新分支,以 GitHub Desktop 为例:
(1)创建本地分支: [图片:创建本地分支界面] 输入分支名称: [图片:输入分支名称界面]
(2)建立本地分支与远程分支的关联: [图片:建立关联界面]
二、Git 分支代码合并
通常我们在一个分支开发完毕并且提交代码到自己的远程分支后,需要将改分支的代码合回到对应的预发布或者生产分支。
2.1 将自己的代码 Push 到自己的远程分支
该步骤就是把自己本地的分支代码,合并到远程的分支。
(1)更新本地分支的代码: 该步骤是将远程的分支代码(如果他人也上传了代码到该分支)合并到本地分支,如果有冲突解决冲突后进行提交。 选择 rebase 进行衍合: [图片:Rebase 操作界面]
(2)Push 代码: 该步骤将需要提交的代码,发布到远程分支上。
2.2 本地要合并的分支 Check 并更新
本地 Check 要合并的分支: 该步骤,就是在本地先检出要和并的分支,然后将该分支更新到最新,然后在将要合并的分支进行合并,最后将合并后的分支推送到远程分支上。
Check 分支: [图片:检出分支界面]
使用 Rebase 更新分支: [图片:Rebase 更新界面]
2.3 合并分支
选择需要被合并的分支,进行 Merge 后提交到远程分支。
[图片:Merge 操作界面]
如果有冲突需要解决冲突;最后将合并后的本地分支推送远程仓库。
2.4 合并出现问题
如果合并分支出现无法修改的问题,此时可以回退分支,重新进行合并。
git reset --hard origin/xxxx
- origin:是 Git 对「远程仓库」的默认别名(alias)。当你通过 git clone 克隆一个仓库时,Git 会自动将远程仓库地址命名为 origin,方便后续操作(比如推送、拉取代码)。


