git stash -u 还是不要经常用啊,会把一些文件搞不见呢?

4 阅读1分钟

是的,git stash -u 要谨慎用,有几个坑:

-u 的风险

-u (--include-untracked) 会把未跟踪的新文件也一起 stash 进去,风险在于:

  • stash 之后这些文件从工作区消失
  • 如果之后 git stash drop 或 stash 被覆盖,文件就真的没了
  • 有时候 stash list 里看起来有,但 pop 出来文件位置不对

更安全的做法

日常切换分支,优先用:

git stash        # 只 stash 已跟踪的修改,新文件保留在工作区

新文件想一起保存,先 add 再 stash:

git add .
git stash        # 这样新文件也进 stash,且有记录

或者用分支保存现场:

git checkout -b temp/save-work   # 开个临时分支
git add .
git commit -m "wip: save"        # 提交保存,最安全

总结

方法安全性推荐度
git stash⭐⭐⭐日常用
git add . && git stash⭐⭐⭐⭐推荐
git stash -u⭐⭐少用
临时分支 commit⭐⭐⭐⭐⭐最安全

文件丢了找不回来是真的很痛,养成 addstash 的习惯最稳。