git基操指南,开发时突然切换需求怎么办?

464 阅读2分钟

这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战

前言

使用背景:开发时经常有这样的事情发生,当你正在进行项目中某一部分的开发时,里面的代码处于一个比较杂乱的状态,而这时,因为某种原因导致你需要到其他分支上进行一些工作。问题是,你不想也不能提交进行了一半的工作,提交的话远程分支被污染,不提交以后你无法回到这个工作点。此时,两全其美的方案就是使用git stash命令临时存储开发一半的代码,后续开发完其它工作,再回到最初的分支取出存储的代码即可!

演示

为了演示这一个功能需要本地增加一些开发代码,例如我修改了一个文件后,相当于我本地开发了一部分比较杂乱的代码。

image-20210811095637520.png

这时候我接到需求要切换到其他分支进行开发。我们进行stash操作,杂乱的代码就消失(储藏)了

image-20210811100218721.png

image-20210811103031577.png

git stash save

储藏当前工作区变更的代码

git stash save "save message"   // 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

git stash list

查看储藏列表

此时我们再来看看stash列表有哪些提交内容,之前存储的记录已经出现在列表中,说明存储成功了

image-20210811101029384.png

git stash list      // 查看stash了哪些存储

但我们开发完内容后,想回过头来继续开发我们之前储存的代码时,这时我们需要应用储藏的内容

git stash apply

应用储藏的内容

git stash apply     // 默认使用第一个存储, 不会把存储从存储列表中删除,,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

image-20210811103849041.png

小结

使用这个命令后,我们看到之前被储藏的文件又出现在我们的工作区了,可以开开心心的继续开发先前的内容了~~

其他操作

git stash show

查看某条stash下面做了哪些文件的变更

image-20210811101215972.png

git stash show  // 显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
​
git stash show stash@{1} // 这里提一下这个命令,在vscode终端内使用要选择git环境,否则会报错

git stash show -p

查看某条stash下面做了哪些文件的的具体变更内容(可以看代码的具体变更内容)

image-20210811102645036.png

git stash show -p // 默认显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

git stash pop

应用储藏记录后删除本条储藏记录

git stash pop   // pop和apply的区别是:应用后删除本条存储记录,如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

git stash drop

删除储藏记录,不应用

git stash drop  // 默认删除第一条储藏,如果要删除其他stash,命令:git stash drop stash@{$num} ,比如删除第二个:git stash drop stash@{1}

git stash clear

删除所有储藏的stash记录

本章小结

本章节介绍了stash的一个操作流程,如有不对之处欢迎指正,谢谢