git切换分支后工作区内容未改变的原因与解决办法

目录

问题描述

原因

解决方法


问题描述

今天遇到一个git分支切换的问题,我在分支A上做了修改,然后切换到分支B后,发现工作区内容未发生改变。

原因

如果当前分支A所做的修改没有提交就切换去其他分支B的话,就会这样。

可以在分支A上用 git status 检查,可以看到分支A是否存在未提交的修改。

解决方法

第一种:如果在当前分支上的工作已经做完:用 git add 和 git commit 提交修改。提交后再切换到分支B即可。

第二种:如果我当前分支上的工作还没做完,不能提交,但又想去其他分支,这时候可以把当前分支的工作现场隐藏起来。用 git stash 暂存当前工作现场,这个时候再用 git status 查看工作区的话,就不会存在未提交的修改。实际上是将修改后的版本暂存起来了,然后就可以放心地去其他分支了。用 git stash list 可以查看隐藏起来的工作现场。

恢复工作现场的两种方法:

  • git stash apply 恢复。恢复后,stash list中并不删除恢复的stash,需要用 git stash drop 来删除。
  • git stash pop,恢复的同时把stash内容也清空了,这时候再用 git stash list 就看不到stash了。

修改内容时可以多次 stash ,恢复的时候,先用 git stash list查看,然后用 git stash apply stash@{0} 或者 git stash pop stash@{0} 来恢复指定的stash。

每stash一次就会生成一种暂存版本,有stash@{0},stash@{1}等。


end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值