有时候会看到git上有很多莫名其妙的 unstage的改动,可以确定不是自己做的,而且是可以丢弃的。可以使用把他们都隐藏 stash 起来,然后把stash区域清空掉
git stash save --keep-index
把垃圾桶直接倒掉
git stash drop
有人会问为什么不用
git reset --hard
因为git reset 会把连index 就是你已经加到index里面准备提交的改动都丢弃掉了
同理的如果你想用checkout
git checkout -- .
也会有点用力过猛
不过当你的index里面本身就是空的情况下, reset 和 checkout 是更好的选择(checkout 更好)
同一件事情有太多种做法真的不是一个好设计,整个git真的有点用力过猛了,期待能有更好的版本管理工具出现,不过在目前git是最好的了,svn对于大型的复杂版本管理场景就太弱了