IntelliJ IDEA 与 Git 本地及远程分支创建与合并指南
本文介绍了在 IntelliJ IDEA 中使用 Git 进行版本控制的核心操作。涵盖本地分支与远程分支的概念区别,克隆项目时的分支处理,新建远程分支的两种方式(仓库直接创建或本地提交自动创建)。详细说明了将代码推送到远程、检出并更新目标分支、执行合并操作以及解决冲突的步骤。最后提供了遇到合并问题时的回退命令示例,帮助开发者规范分支管理流程。

本文介绍了在 IntelliJ IDEA 中使用 Git 进行版本控制的核心操作。涵盖本地分支与远程分支的概念区别,克隆项目时的分支处理,新建远程分支的两种方式(仓库直接创建或本地提交自动创建)。详细说明了将代码推送到远程、检出并更新目标分支、执行合并操作以及解决冲突的步骤。最后提供了遇到合并问题时的回退命令示例,帮助开发者规范分支管理流程。

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

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online