idea切换Git分支时保存未提交的文件方式

 更新时间:2026年04月30日 08:36:39   作者:华妃  
当在开发分支上修改了部分文件,但功能未完成且需要修复其他分支的bug时,可以使用ShelveChanges或StashChanges暂存未提交的修改,之后在其他分支上进行修复,修复完毕后,再恢复暂存的修改

问题描述

现在需要开发一个新功能A时,我们需要从Dev分支上创建一个新的功能分支tenant,然后我们就在这个分支上进行开发。

假设有一天,你正在开发,本地已经在tenant上修改了几个文件,但是功能还没有完全开发完成,你不想commit,此时测试跟你说在现在的一个测试分支master上有1个Bug,希望你去修复。

这个时候你有两种选择:

  • 提交tanant上的文件,然后切换到master修复Bug。(你不想这么干)
  • 不提交tenant上的文件,直接切换到master修复Bug,这样会把tenant里面修改的文件带到master里面去。(你也不想这么干,因为tenant的新功能不应该跟master扯上任何关系)

解决方案

我们现在有三个分支,如下图:

我们目前在tenant分支上进行开发,需要去修复master的Bug,假设我们在tenant分支上修改了一个文件,如下图:

方法一:使用Shelve Changes

1、选中tenant上你不想提交的文件,右键选择Shelve Changes

2、保存Shelve Changes

3、查看Shelve Changes

4、切换到master分支,修复Bug。

切换到另一个分支之后,你会发现你在tenant中的修改并没有带到这个里面来,你可以放心在这个上修改。

5、修复完成之后,切换回tenant,选择Shelve Changes进行UnShelve

6.tenant的修改恢复之后,删除Shelve Changes

方法二:使用Stash Changes

1、选中tenant上你不想提交的文件,右键选择Git->Repositor->Stash Changes

2、保存Stash Changes

3、查看Stash Changes

4、切换到master分支,修复Bug。切换到这个之后,你会发现你在tenant中的修改并没有带到新的分支里面来,你可以放心修改。

5、修复完成之后,切换回tenant,选择Git->Repositor->UnStash Changes

6、tenant的修改恢复之后,删除Stash Changes

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringCloud分布式链路跟踪的方法

    SpringCloud分布式链路跟踪的方法

    这篇文章主要介绍了SpringCloud分布式链路跟踪的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • JAVA使用动态代理对象进行敏感字过滤代码实例

    JAVA使用动态代理对象进行敏感字过滤代码实例

    这篇文章主要介绍了JAVA使用动态代理对象进行敏感字过滤代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Java解析和生成yaml文件的方法和实践

    Java解析和生成yaml文件的方法和实践

    在现代应用程序中,数据交换格式的选择至关重要,JSON 和 XML 是最常用的格式,但 YAML因其简洁和可读性高而越来越受到欢迎,本文将深入探讨 jackson-dataformat-yaml 的特性、使用方法以及一些最佳实践,需要的朋友可以参考下
    2024-12-12
  • Struts2之Validator验证框架的详细介绍

    Struts2之Validator验证框架的详细介绍

    Struts2中提供了数据校验验证数据例如验证邮件、数字等,本篇文章介绍了Struts2之Validator的详细介绍,有兴趣的可以了解一下。
    2017-03-03
  • 解决java执行cmd命令调用ffmpeg报错Concat error - No such filter ''[0,0]''问题

    解决java执行cmd命令调用ffmpeg报错Concat error - No such filter ''[0,0]

    这篇文章主要介绍了java执行cmd命令,调用ffmpeg报错Concat error - No such filter '[0,0]'解决方法,本文通过截图实例代码说明给大家介绍的非常详细,对大家的工作或学习有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Java Web开发防止多用户重复登录的完美解决方案

    Java Web开发防止多用户重复登录的完美解决方案

    在web项目开发中,很多情况下都可以让同一个账号信息在不同的登录入口登录很多次,这样子做的不是很完善。一般解决这种情况有两种解决方案,小编呢主要以第二种方式给大家介绍具体的实现方法,对java web 防止多用户重复登录的解决方案感兴趣的朋友一起看看吧
    2016-11-11
  • Springboot+aop实现配置多数据源的示例代码

    Springboot+aop实现配置多数据源的示例代码

    本文介绍了如何使用SpringAOP和注解实现动态数据源切换,通过自定义注解和ThreadLocal存储数据上下文信息,重写AbstractRoutingDataSource类并使用自定义切面来实现动态数据源的切换,感兴趣的可以了解一下
    2024-11-11
  • 详谈Java静态动态的问题

    详谈Java静态动态的问题

    下面小编就为大家带来一篇详谈Java静态动态的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Java中注解的工作原理

    Java中注解的工作原理

    什么是注解?用一个词就可以描述注解,那就是元数据,即一种描述数据的数据,Java中的注解是如何工作的,需要的朋友可以参考下
    2015-12-12
  • Intelli IDEA安装Scala插件并安装Scala软件和配置环境变量的详细教程

    Intelli IDEA安装Scala插件并安装Scala软件和配置环境变量的详细教程

    这篇文章主要介绍了Intelli IDEA安装Scala插件并安装Scala软件和配置环境变量的详细教程,需要的朋友可以参考下
    2020-10-10

最新评论