IDEA切换git分支时如何使用git stash
切换分支弹出提示:Force Checkout / Smart checkout
打开帮助文档原文如下:
翻译大意如下:
在idea上做分支切换时会发生什么,取决于你的本地尚未commit的修改和将要checkout的分支是否有冲突
如果idea设置开启了"Restore workspace on branch switching"选项(Settings-Version Control-Confirmation),idea会保存你当前的context,当你切换到一个不同的分支(比如A),idea自动恢复这个分支(A)的context
如果你的working tree是clean的(就是说没有uncommited changes),或者你的本地修改与将要切换到的分支没有冲突,分支将会正常checkout(底下会有个提示)
如果你的本地修改将会被checkout的分支覆盖,idea将会阻止你的切换操作,并列出将会被覆盖的文件列表,建议你选择Force checkout 和 Smart Checkout
如果选择force checkout ,你本地的未提交的修改将会被覆盖,你将丢失这些修改
如果选择Smart Checkout,idea将会stash 未提交的修改,checkout到新分支,然后再执行unstash 修改,如果此时unstash的时候发生冲突,将会提示你合并冲突
git stash适用场景
现在正在A分支下开发,这个时候在分支B上有一处bug要修改,需要从A切换到B,切换前需要将A分支修改的代码提交,但此时A里面有未通过编译的代码
此时可以考虑用git stash将A分支上修改的代码进行暂存
git stash 命令的作用就是将目前已经修改但是还不想commit的内容暂存下来,后续可以恢复继续开发;作用的范围包括工作区和暂存区中的内容
例如线上突然出现 bug,需要先切换到 master 分支,但当前分支的代码做了修改又不想马上commit,直接切换分支,会将当前分支的新增的代码也添加到 master 分支,就可以使用 git stash
git stash 如何使用
写下备注,因为可能有多处stash,方便后面unstash的时候区分,点击Create Stash
切回分支之后再unstash还原回来:
选择之前暂存的记录,勾选 Pop stash(还原完成后,会自动删除这个 stash,不勾选不会删除这个 stash)
点击 Pop Stash ,工作区之前的代码修改恢复回来
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库