一 . 放弃本地提交
1. 还未add提交
//撤销某文件
git checkout -- filename
//全部撤销
git checkout .
2. 已提交add未commit
//撤销部分文件
git reset HEAD filename
//撤销全部文件
git reset HEAD
3. 已commit,撤销到上一版本
git reset --hard HEAD^
4. 退回到任意版本的时候
//查看版本号
git log
//撤回到具体版本
git reset --hard commit id
二 . 本地有修改,但其他同时也修改而且已经提交正式,你又不想放弃本地修改,就发生了冲突