Java基础、中级、高级、架构面试资料

git stash常用命令总结

NDIS herman 3555浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

有同事喜欢使用图形工具,而我有时候使用命令行。使用图形化工具的往往会忘记了具体的命令,所以在网友私信我的时候,我随手给他总结了一个命令,本文在这里摘录一下,方便后续网友学习!

常用 git stash 命令总结如下:

  • git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
  • git stash list :查看stash了哪些存储
  • git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
  • git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
  • git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
  • git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
  • git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
  • git stash clear :删除所有缓存的stash

需要注意的是,对于新增的文件,直接执行 git stash save 是不会被存储的。

玩过 git 的都应该知道,执行了git statsh save 以后,被存起来的文件在当前目录再执行 git status 就看不到了,但是对于新增的文件再执行 git status,你会发现,它还在当前目录。

总结一下,就是没有在 git 版本控制中的文件,是不能被 git stash save 存起来的。

那么针对新增的文件该怎样操作才能让 git stash save 给存起来呢?很明显,先执行下 git add 加到 git 版本控制中,然后再 git stash save 就可以了。

实际上,git add 只是把文件加到 git 版本控制里,并不等于就被 stash 起来了,git add 和 git stash 没有必然的关系,但是执行 git stash 能正确存储的前提是文件必须在 git 版本控制中才行。

但是,又有网友说了,如果我只想备份一下,没有被 git add 的文件,该怎么办?

你想到的,git 也想到了,只是操作麻烦一下。

先 git add 备份的文件,然后执行 git stash –keep-index 备份那些没有被 add 的文件,最后再执行 git reset 取消已经 add 的文件的备份!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » git stash常用命令总结