请选择 进入手机版 | 继续访问电脑版

解决Git切换分支问题:Please commit your changes or stash them before y

[复制链接]
余峻 发表于 2020-12-31 20:26:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
项目场景:

现在的Bug你还没有办理,而上边又给你派了一个新的Bug,而这个Bug相比力现在正在苦思冥想的Bug比力容易办理。
你想先办理新的Bug,但是之前的Bug还没有办理完而不能提交。怎么办?

  办理方案:

1. 因为当前的分支dev 最初也是从master 分支上衍生出来的。而此时你要再从该分支上切换到其主分支。那么你需要先把该dev分支上的改动提交后才气切换,但是该dev分支上还没有完玉成部的修改,你不想提交。那么此时你就要选择 stash (存放)它们(你在当前分支上改动的却没有提交commit的内容)。
所以第一步,在当前分支上执行 git stash 命令。将当前分支存起来,id为 807be186826


2. 这时候再执行 git status 命令,显示没有东西需要提交,接着就可以在主分支master上创建并切换到新的分支去修复另一个Bug了。

3. 那修改完谁人Bug也提交后,就该回到dev 分支上去继承修改谁人未完成的Bug。
执行 git checkout dev 切换到 dev 分支,这个时候执行 git status 命令仍旧显示没有东西需要提交。毕竟我们前边已经乐成将dev上未提交的改动给“隐藏“了,这时,用 $ git stash list 命令去检察我们“存储”的列表。


会发现id 为 807be186826 的蕴藏项目在列表中,我们需要将其规复,有两个办法:

  一、用 git stash apply 命令规复,但是规复后,stash内容并不删除,这时候再执行 $ git stash list 命令,id 为 807be186826 的蕴藏项目还会在列表中,你需要用 git stash drop 来删除;
  注意: 如果有一个分支上多个 stash,如果需要规复指定的 stash ,可以在命令尾部加id,如 $ git stash apply stash@{0},同样删除指定 stash 项目则执行如 $ git stash drop stash@{1} 。
  二、用 git stash pop 命令,规复的同时把 stash 存储列表的内容也删了。这时候再执行 git stash list 命令,id 为 807be186826 的蕴藏项目不会在列表中。
  此时再检察 会发现之前的改动还存在,且执行 git status 就会继承显示该分支上有改动未提交。

来源:https://blog.csdn.net/weixin_44422604/article/details/111994539
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )