命令执行前后都是同一个版本
- 特殊情况:
stage->unmodified,
modified->unmodified,
untracked文件删除
命令:
git stash :这个是将所有stage、untracked和modified的数据存储起来。取消了git add 、新增文件和修改。
- 特殊情况:
modified->unmodified,untracked文件删除
命令
git clean -f -d :这个是直接清理掉,-f是为了删除untracked状态的文件(没有备份)。取消了新增文件和修改。
- 特殊情况:
modified->unmodified
命令:
git checkout [file] 或者git checkout . (表示清楚放弃所有modified状态的数据)。取消了修改。
和版本有关:
#返回到某个节点,不保留修改。unmodified->unmodified
git reset --hard HASH (危险,如果有远程仓库保存可以用git pull还原,其它的就没有法了)。
回退干净,取消了git add、git commit和git clean -f -d。
#返回到某个节点,保留修改,放add。unmodified->modified
取消了git add、git commit
git reset [--mixed] HASH
#返回到某个节点,保留修改。unmodified->stage
git reset --soft HASH
取消了git commit