Git stash用来暂存当前正在进行的工作(已git add还未commit), 将工作区内容压入本地的Git栈中,在需要应用的时候再弹出来。比如想pull 最新代码,又不想加新commit;或者为了修复一个紧急的bug,先stash,使返回到自己上一个commit,改完bug之后再stash pop,继续原来的工作。Git stash可以让本地仓库返回到上一个提交状态,而本地的还未提交的内容则被压入Git栈。
多次使用git stash命令后,栈里将充满了未提交的代码,这时git stash list命令可以列出当前的Git栈信息。可以使用git stash apply stash@{1} 就可以将你指定版本号为stash@{1}的暂存内容取出来。暂存区不清空一直在。当所有的栈都应用回来的时候,可使用git stash clear清空。
echo "HHHH" >h.txt
git add h.txt
git stash
ls
echo "III" >i.txt
git add i.txt
git stash
git stash list
ls
git stash apply stash@{1}
ls
git stash list
git stash apply stash@{1}
ls
git stash apply stash@{0}
ls
git stash apply stash@{1}
ls
git stash clear
git stash list
git stash apply stash@{1}
git stash