工作做到一半需要临时切换到别的任务
1. 先commit当前的进度
简单的做法先保存当前的修改
![](https://img-blog.csdnimg.cn/20210201130303813.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L291eWFuZ2FuZHk=,size_16,color_FFFFFF,t_70)
然后切换到有问题的分级,先完成别的功能,然后切换回原来做到一半的develop分支,执行reset命令,衔接之前的工作。git reset HEAD^
![](https://img-blog.csdnimg.cn/20210201130411999.png)
2. 使用Stash命令
遇到这种情况的时候,可以像上面那样先commit,然后再Reset回来,另外一种做法是,使用Stash功能。首先查看分支状态,
![](https://img-blog.csdnimg.cn/20210201130714272.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L291eWFuZ2FuZHk=,size_16,color_FFFFFF,t_70)
当前状态表明,对两个文件做了修改,这个时候可以使用git stash命令,把这些修改先保存起来。
![](https://img-blog.csdnimg.cn/20210201130857743.png)
此时再次查看状态
![](https://img-blog.csdnimg.cn/20210201130937545.png)
似乎与刚刚Commit的时候状态一样,但那些文件存到哪去了呢?使用命令git stash list查看
![](https://img-blog.csdnimg.cn/20210201131449271.png)
上main的stash@{0}意思是只有一份状态被保存了,当然你可以查看你修改的文件作出修改,跟你stash的文件并不冲突,此时继续git stash,然后git stash list查看你就会发现不止一份被保存的文件,那么如何将临时保存的文件再重新取回呢,可以使用git stash pop stash{0}命令。假如不加后面的参数直接使用git stash pop则会取回编号最小的那个状态,应用pop之后,则会删除那个stash,此时你查看git stash list,那你取出的那个stash会被删除。
![](https://img-blog.csdnimg.cn/20210201131957284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L291eWFuZ2FuZHk=,size_16,color_FFFFFF,t_70)
如果不想删除stash,可以使用git stash apply stash{0}这个命令,其实个人来讲,这种方法并不推荐使用,因为保存了大量的stash之后,会变得很乱,导致自己都不知道想要哪一个stash。因此还是推荐大家使用第一种方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)