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

**

问题描述

我们现在需要开发一个新功能A时,我们需要从Dev分支上创建一个新的功能分支Feature_A,然后我们就在这个分支上进行开发。假设有一天,你正在开发,本地已经在Feature_A上修改了几个文件,但是功能还没有完全开发完成,你不想commit,此时测试跟你说在现在的一个测试分支Test_B上有1个Bug,希望你去修复。这个时候你有两种选择:

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

解决方案

注意:这里的解决方案只是针对Intellij Idea,使用原生git stash功能也可以解决这个问题

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

我们目前在Feature_A上进行开发,需要去修复TestB的Bug,假设我们在Feature_A上新增了一个文件,也修改了一个文件,如下图:
image.png
方法一:使用Shelve Changes
1.选中Feature_A上你不想提交的文件,右键选择Shelve Changes
image.png
2.保存Shelve Changes
在这里插入图片描述

3.查看Shelve Changes
在这里插入图片描述

4.切换到TestB,修复Bug。切换到TestB之后,你会发现你在FeatureA中的修改并没有带到TestB里面来,你可以放心在TestB上修改。
在这里插入图片描述
在这里插入图片描述

5.TestB修复完成之后,切换回Feature_A,选择Shelve Changes进行UnShelve
image.png
image.png
在这里插入图片描述

6.Feature_A的修改恢复之后,删除Shelve Changes
在这里插入图片描述

方法二:使用Stash Changes
1.选中Feature_A上你不想提交的文件,右键选择Git->Repositor->Stash Changes
在这里插入图片描述

2.保存Stash Changes
在这里插入图片描述

3.查看Stash Changes
在这里插入图片描述
在这里插入图片描述

4.切换到TestB,修复Bug。切换到TestB之后,你会发现你在FeatureA中的修改并没有带到TestB里面来,你可以放心在TestB上修改。
在这里插入图片描述
image.png

5.TestB修复完成之后,切换回Feature_A,选择Git->Repositor->UnStash Changes

image.png
image.png
image.png

6.Feature_A的修改恢复之后,删除Stash Changes
image.png

原文地址:https://www.jianshu.com/p/3f515bda7d11

  • 21
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值