Git stash介绍
目前共有2个分支:master分支、dev分支
我们目前正在dev分支开发一个新功能,然后开发完成之后合并到master即可。目前线上有一个Bug继续来解决。因为Git鼓励我们使用分支来进行开发,于是乎,我们新建bug分支来解决当前这个线上的问题。
现在因为我们已经在dev分支开发了很多代码,然而并没有提交。于是乎我们现在新建的bug分支,也会和dev分支未提交的代码一模一样(即:我们未开发完成的新功能代码,bug分支与master分支合并时,会将未开发完成的代码全部合并到master分支)
不要以为每次新建一个分支,就自认为这个分支与其他分支都是完全分隔的,新分支很干净的样子。然而并不是这样子的。如果我现在在dev分支新功能开发了一半,然后新建了一个bug分支的情况下,如果dev分支开发的内容没有执行git add 和 git commit操作的话,那么新建的bug分支内容和dev分支内容是完全一模一样的。你疑惑的话,可以自己手动试试。
所以Git官方为我们提供了stash功能。相当于我们先把当前dev分支开发到一半的功能先"隐藏"起来,在新建的bug分支中修复完bug后,与master主分支合并完成,然后我们再将dev分支中开发的"隐藏"部分内容搞回来即可。
Git stash使用
1.目前,我正在demo.txt文件和myTest.txt文件中开发新功能,已经开发到了一半。
2.git stash功能上场了
3.现在我们可以新建一个bug分支来解决Bug问题 (需要我们在demo.txt文件修改一行,便能够修改Bug)
4.我们需要将bug分支合并至master主分支,则可以通过主分支内容进行上线了。至此Bug便解决完成
5.Bug解决完成了。我们可以删除bug分支了。
6.下一步,我们在去dev分支工作,将dev分支"隐藏"的内容,搞出来
7.将dev分支"隐藏"的内容搞回来,就OK了
①使用命令git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
②使用命令git stash pop,在恢复的同时,将stash删除
8.你可以多次使用stash。在恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
git stash apply stash@{0}
恢复后,可以再次使用git stash drop来删除stash
9.如有冲突出现,可以手工解决冲突,然后再次提交即可