赞
踩
发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交。这时就可以考虑 git stash
。
会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。
stash
是本地的(非暂存),不会通过 git push
命令上传到 Git
服务器上。stash
加一个 message
,用于记录版本。git stash save
取代 git stash
命令。示例如下:
git stash save "test-cmd-stash"
stash
git stash pop
可以通过 git stash pop
命令恢复之前缓存的工作目录:
这个指令将缓存堆栈中的第一个 stash
删除,并将对应修改应用到当前的工作目录下。
git stash apply
你也可以使用 git stash apply
命令,将缓存堆栈中的 stash
多次应用到工作目录中,但并不删除 stash
拷贝。
在使用 git stash apply
命令时可以通过名字指定使用哪个 stash
,默认使用最近的 stash
(即 stash@{0}
)。
stash
git stash list
典型的输出如下:
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log
stash
git stash drop
可以使用 git stash drop
命令,后面可以跟着 stash
名字。
下面是一个示例:
git stash drop stash@{0}
Dropped stash@{0} (364e91f3f268f0900bc3ee613f9f733e82aaed43)
或者使用 git stash clear
命令,删除所有缓存的 stash
。
git stash clear
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。