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

问题描述

现在需要开发一个新功能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
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IDEA切换Git分支的步骤如下: 1. 首先,在IDEA的Terminal里输入命令`git branch -a`,可以查看当前所有的分支。\[1\] 2. 然后,使用命令`git checkout 分支名`切换到目标分支。例如,如果要切换到名为`dev`的分支,可以输入`git checkout dev`。\[1\] 3. 如果目标分支是从远程仓库拉取的最新版本,可以使用命令`git pull`来拉取最新代码。\[1\] 4. 如果需要创建一个新的分支切换到该分支,可以使用命令`git checkout -b 分支名`。例如,要创建一个名为`dev`的新分支切换到该分支,可以输入`git checkout -b dev`。\[1\] 5. 如果需要将新建的分支推送到远程仓库,可以使用命令`git push origin 分支名`。例如,要将名为`dev`的新分支推送到远程仓库,可以输入`git push origin dev`。\[1\] 6. 如果需要关联远程分支,可以使用命令`git branch --set-upstream-to=origin/远程分支名`。例如,要关联远程分支`origin/dev`,可以输入`git branch --set-upstream-to=origin/dev`。\[1\] 7. 如果需要再次拉取验证分支是否切换成功,可以使用命令`git pull`。\[1\] 8. 如果需要删除本地分支,可以使用命令`git branch -D 分支名`。例如,要删除名为`dev`的本地分支,可以输入`git branch -D dev`。\[1\] 9. 如果需要删除远程分支,可以使用命令`git push origin -d 分支名`或`git push origin --delete 分支名`。例如,要删除名为`dev`的远程分支,可以输入`git push origin -d dev`或`git push origin --delete dev`。\[1\] 总结起来,切换Git分支的步骤是:查看分支 -> 切换分支 -> 拉取最新代码 -> 创建新分支 -> 推送新分支 -> 关联远程分支 -> 再次拉取验证 -> 删除本地分支 -> 删除远程分支。\[1\] #### 引用[.reference_title] - *1* *3* [IDEA如何切换git分支](https://blog.csdn.net/buertianci/article/details/98851706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [IDEA怎么切换Git分支](https://blog.csdn.net/weixin_56070336/article/details/119618069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值