昨天在develop分支做完,然后直接就push了 ,然后就直接把最新的代码给覆盖掉了,然后更严重的是同事没有意识到我已经覆盖了,然后又merge到master主分支上了。导致主分支也被覆盖了。
今天然后一直在pull代码,一直拉不到最新的,恍然发现原来昨天被覆盖了。
今天学到了一个新的git命令git stash 它使用的场景是:当你本地的代码做到一半然后突然要切换到其他的分支区改东西,这个是需要提交当前分支的代码到本地仓库,但是为了不提交太多脏提交,这是stash就派上用场了,它能把你当前的文件修改或是工作状态临时保存到git栈中(是跨分支的),然后你就可以去切换分支了。当你完成了其他分支的处理,在切换到这个分支来然后再恢复。你当初修改的文件代码就又回来了。
git stash save "message" 写上备注方便查找
git stash reply 使用某个存储但不会把存储从栈中删除,默认是恢复第一个,git stash reply stash@{2} 恢复第二个 只能恢复多次
git stash pop 恢复之前缓存的工作目录,将缓存堆栈对应的stash删除 只能恢复一次
git stash list 查看stash列表
git stash clear 删除所有的stash