赞
踩
git 是日常开发中版本控制必不可少的工具,当遇到代码重构或者临时恢复时,git stash 的隐藏功能非常好用,其主要应用于下述场景:
上线功能开发中需要切换分支或者切回老版本,但是不想commit和丢弃当前改动,执行 git stash 功能会将当前改动存储至后台,当需要恢复时,执行 git stash pop 即可,可以理解为一个保存栈
假设当前添加了 Test.scala 文件
将当前的改动保存下来,默认保存是没有标识的,不好区分,更好的建议是使用:
git stash save $info
info是自己本次 stash 隐藏的内容
git stash list 可以看到当前 stash 保存的全部记录
这里 stash 缓存类似栈,如果添加多个缓存,最新的 stash 则会置顶:
弹出最新 stash 的内容,并删除该 stash,类似于栈的 pop 即弹出并删除,执行命令后弹出最新的 stash{0} 即 Test1.scala 文件
如果想要指定弹出某个 stash,可以使用:
git stash pop $num
该命令会弹出对应的改动,这就体现了 git stash save xxx 的重要性,因为可以知道每个改动对应的内容
和上面场景类似,apply 会将最新的改动还原到代码中,默认返回 stash{0},与 pop 不同点在于 apply 不会删除 stash{0},即当前 stash 可以多次使用
执行 git stash apply 后,对应的 Test.scala 也返回,但是 git stash list 里仍然保留了两个 stash
同上,如果要 apply 指定 stash,则可以使用:
git stash apply $num
显示当前最新 stash 的改动,主要是恢复 stash 前可以看到修改内容,如果忘了 stash 了什么内容可以使用,默认最新,如果要查看对应 stash 同上:
git stash show $num
删除对应 stash,经常 stash + stash pop 一般不会用到 drop 命令,所以该命令使用比较少,如果需要一次性清空缓存区,可以执行:
git stash clear
git stash 常用的命令大概就这些,对于新版本发布和修改记录保存而言 stash 非常好用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。