场景一:
单个分支:在开发特性STORY-COPY时候,又想再接着完善特性STORY-DUPICATE。两种操作:把开发特性STORY-COPY的工作先提交,有可能压根就没有编译通过,影响后面操作;第二种:先不提交,和特性STORY-DUPICATE一起提交,又会造成Log混乱。纠结ing
场景二:
多个分支: 在分支A上进行特性开发,尚未完成,需要到分支B上调试BUG,出版本。 直接转到分支B上, 分支A上没有提交,是切不到分支B的; 修改没有完成,在分支A上暂时不想提交;纠结ing
解决方案:
模拟场景一:在对1.txt作修改的时候,又想修改5.txt
第一步: 修改1.txt, 还未完成。
第二步:还是先修改5.txt;先执行命令git stash;
第三步: 看看执行完git stash的效果; 不是已经修改1.txt, 怎么搞得好像已经提交了, 这就是git stash的功劳。
第四步:修改5.txt, 完成后提交。
第五步:提交完5.txt后,git status 查看还是nothing to commit; 看来没有东西要提交了;不对,git stash pop看看。
第六步:git stash pop, 把之前对1.txt所做的修改从栈里面还原出来,通过git status可以看到差点忘记对1.txt的修改了。
第七步:提交1.txt。