跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

IntelliJ IDEA 中 Git 代码搁置与恢复指南

了如何在 IntelliJ IDEA 中使用 Git Stash 功能处理分支切换时的未提交代码问题。通过暂存当前工作区状态,开发者可以安全切换到其他分支修复紧急 Bug,完成后恢复暂存内容继续开发。该方法有效避免了代码污染和手动备份的繁琐,提升了协作效率。

黑客发布于 2026/3/27更新于 2026/9/103.7K 浏览

相信很多同学在刚开始接触团队协作开发时,都会使用 Git 进行代码管理。而在使用强大的 IntelliJ IDEA 时,很可能遇到过跟我一样的问题:你正在 feature-A 分支上热火朝天地开发一个新功能,代码写了一半,突然有同事跑过来说:'master 分支上有个紧急 Bug 要修复'在切换分支去 master 之后发现,刚才在 feature-A 分支上写的那一堆未提交的代码,原封不动地跟着你跑到了**master 分支上。会导致当你修改完 Bug 将代码提交回 master 的时候,发现要在所有未提交的代码中选择出与 master 的 Bug 有关的代码,太复杂而且容易搞错。**

如何在 IDEA 中解决?—— 使用'搁置'功能

第一步:搁置当前更改

  1. 在 IDEA 中,确保你当前在 feature-A 分支。

点击 Create Stash(也就是托管更改)按钮。完成后,你会发现本地所有未提交的更改都消失了,工作区变得和最后一次提交时一模一样。

文章配图

这时会弹出一个对话框,让你为这次搁置写一个描述信息(比如'开发用户登录功能 - 半成品')。这有助于你以后分辨多个暂存的包裹。

文章配图

在项目根目录上,右键点击 -> 选择 Git -> Repository -> Stash Changes... 或者,你也可以点击顶部菜单栏的 VCS -> Git -> Stash Changes...

文章配图

第二步:放心切换分支

现在,你的工作区非常干净,可以毫无顾虑地切换到 master 分支了:

git checkout master

然后,安心地修复你的 Bug,修复完成后正常提交。

第三步:恢复搁置的更改

  1. 当你修完 Bug,准备继续开发 feature-A 的功能时,首先切换回 feature-A 分支:
git checkout feature-A
  1. 在弹出的对话框中,你会看到一个列表,选择你刚才创建的那一个(可以通过你写的描述信息来识别)。
  2. 点击 Apply Stash 按钮。

同样,在项目根目录上右键点击 -> Git -> Repository -> Unstash Changes...

文章配图

什么是代码搁置与恢复?

你可以把 '搁置(Stash)' 想象成一个临时储物柜。

当你需要暂时离开当前的工作(比如去修复 Bug),但手头的代码还没写完、不想提交时,你就可以使用这个功能:

  1. 搁置:将你当前所有未提交的代码(包括新增、修改、删除的文件)打包成一个'包裹',安全地存放到这个'储物柜'里。完成这个操作后,你的工作区会变得非常干净,回到最后一次提交时的状态。这时,你就可以放心地切换到任何其他分支了。
  2. 恢复:当你处理完其他事情(比如修完 Bug),回到原来的分支时,再从这个'储物柜'里把之前的'包裹'取出来,你所有的代码就会原封不动地恢复回来,可以继续你的开发。

它的核心作用就是:

  • 保存工作现场:在不提交不完整代码的前提下,暂存你的工作进度。
  • 实现分支纯净切换:确保你切换到另一个分支时,工作区是干净的,不会污染其他分支。
  • 提升效率与安全性:避免手动备份代码的麻烦,也杜绝了误提交半成品代码的风险。

目录

  1. 什么是代码搁置与恢复?

更多推荐文章

查看全部
  • 前端拖拽排序实现详解:从原理到实战
  • 从零构建 AI 对话平台:原生前端实战指南
  • Python 属性描述符:从原理到 ORM 实践详解
  • 基于 Python 和 LLM 的本地 RAG 系统构建指南
  • Python 实现 AI 绘画用户评价自动分类与分析报告生成
  • Vue 3 实战:10 个提升开发效率的常用技巧
  • Llama-2-7B 昇腾 NPU 性能测评与部署实践指南
  • 大模型学习路线:从基础理论到工程实践的完整指南
  • Rust 微服务架构实战:gRPC 通信、服务发现与容器编排
  • OpenClaw 运行原理剖析:个人 AI 操作系统引擎解析
  • 万方 AIGC 检测难通过?主流降重工具实测对比
  • 6 款免费 AI 写作工具测评:网文创作与去重方案
  • MinHash 大规模文本近似去重策略详解
  • Antigravity:一款支持多模型的免费 AI 编程工具
  • 解决新机型 Copilot 键替代右 Ctrl 键问题
  • Linux 基础:HTTPS 原理与加密机制详解
  • LeetCode 1984. 最小化 K 个分数的最高与最低分差值
  • 在 Cursor 中配置和使用 MCP 服务实现自动化任务
  • Qwen3-Omni 架构详解:Thinker-Talker 与 MoE 设计
  • 在 Jetson 上部署 OpenClaw 并接入飞书机器人打造本地 AI 助手

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online