缘起:
在主分支(master)上面出现了点小bug,但是我正在dev分支上面开发新的功能,而且还没有写完,所以还不想提交。
这怎么办呢,然后在看了Git教程和各种大牛的博客之后,感觉Git真的是挺好用的。
下面先简单记录一下本人是怎么做的:
解决办法:
git stash:保留当前的工作状态,也就是说你当前对文件所做的修改(因为git只跟踪被修改过的文件)。这个状态被git作为一个未完成的状态,放到一个堆栈中。
当修改完bug之后,再继续dev分支上的开发,有两种办法可以解决:
第一,git stash apply,默认使用最近的stash,命令后面也可以跟指定的状态码,git stash list 查看所有的stash状态;该命令并没有删除stash的“状态”,需要手动清除,git stash clear,同样可以指定;
第二,git stash drop,在恢复原来的工作状态之后,同时也将stash的“状态”删除掉,一举两得。
最后,即使在回到dev分支的时候,忘了去stash里面取出你原来的工作状态,并且手贱改了一些东西,同样也可以通过git stash show,查看你所做的改动。
具体的对该知识点的学习,推荐两篇文章:
第一篇:是廖大神的Git教程:https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136
第二篇:个人认为写的比较好,总到位的一篇博客:https://www.cnblogs.com/tocy/p/git-stash-reference.html
这两篇文章,基本上已经涵盖了这一知识点的精华,而且,对将来在项目组中做开发,分支管理是大有帮助。