Git 如何快速的丢弃/抛弃/回滚本地的所有未stage的改动

有时候会看到git上有很多莫名其妙的 unstage的改动,可以确定不是自己做的,而且是可以丢弃的。可以使用把他们都隐藏 stash 起来,然后把stash区域清空掉

git stash save --keep-index

把垃圾桶直接倒掉 【Git 如何快速的丢弃/抛弃/回滚本地的所有未stage的改动】
git stash drop

有人会问为什么不用
git reset --hard


因为git reset 会把连index 就是你已经加到index里面准备提交的改动都丢弃掉了 同理的如果你想用checkout

git checkout -- .


也会有点用力过猛 不过当你的index里面本身就是空的情况下, reset 和 checkout 是更好的选择(checkout 更好)


同一件事情有太多种做法真的不是一个好设计,整个git真的有点用力过猛了,期待能有更好的版本管理工具出现,不过在目前git是最好的了,svn对于大型的复杂版本管理场景就太弱了



    推荐阅读