git切换分支保留未提交的代码

本文介绍了解决开发过程中遇到线上bug时,如何使用Gitstash功能临时保存代码,避免未完成的改动丢失,方便后续切换分支和问题排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当你开发到一半的时候突然叫你切到另一个分支查看线上的bug这个时候你又不想要把写到一半的代码给提交上去这咋办呢
在这里插入图片描述

这个时候就要使用git stash了
右键点出stash change
在这里插入图片描述
然后填写你要保存的记录信息就行了
在这里插入图片描述
这下切换分支再切回来就不会造成代码丢失了

然后排查完问题再切换回来
同样右键选择unstash changes 选择你要还原的历史就行了
在这里插入图片描述
在这里插入图片描述

### 解决 Vue Git 切换分支代码丢失问题 当遇到切换 Git 分支后 Vue 项目代码消失的情况时,通常是因为工作目录中的文件状态与目标分支的状态存在差异。以下是几种可能的原因及解决方案: #### 可能原因一:保存的工作 如果在切换分支前有提交的更改,则这些更改可能会被覆盖或清除。 建议操作如下: - 在切换分支之前先保存所有更改 `git add .` 和 `git commit -m "message"`[^1]。 - 使用带有 `-b` 参数创建并切换到新的临时分支保留当前变更 `git checkout -b temp-branch`[^3]。 #### 可能原因二:稀疏检出配置错误 有时 `.git/info/sparse-checkout` 文件设置不当也会导致部分文件不在工作区显示。 处理方式为: - 清除现有 sparse-checkout 设置 `echo "" > .git/info/sparse-checkout && git config core.sparseCheckout false`[^2]。 - 执行刷新命令使更改生效 `git read-tree -mu HEAD`[^2]。 #### 可能原因三:忽略模式影响 `.gitignore` 中定义的规则可能导致某些文件不会随分支变化而同步更新。 应对措施包括: - 审查项目的 `.gitignore` 文件确认是否有误配项阻止了必要源码加载。 - 如需恢复特定类型的隐藏文件可暂时移除对应条目再尝试重新拉取最新改动 `git rm --cached <file>`。 #### 处理流程总结 对于上述情况,在实际解决问题的过程中应当按照以下顺序排查: 1. 检查是否存在悬而决的修改; 2. 排除因稀疏检出引起的视图缺失现象; 3. 查看.gitignore 是否意外忽略了重要组件; 最后提醒开发者们养成良好的版本控制习惯,比如经常性地推送个人进度至远端仓库以防数据遗失,并保持对不同环境间依赖关系的关注以免引入不必要的复杂度。 ```bash # 提交当前更改 $ git add . $ git commit -m "Save current changes" # 创建并切换到新分支以保护原始工作流 $ git checkout -b backup-workflow # 清楚sparse-checkout设定以便全面展示项目结构 $ echo "" > .git/info/sparse-checkout $ git config core.sparseCheckout false $ git read-tree -mu HEAD # 移除.gitignore中干扰正常工作的路径匹配表达式 $ vi .gitignore # 编辑此文件去除不需要忽略的内容 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值