git为当前最流行的版本控制工具,在用git做版本控制的时候,经常会出现需要撤销当前操作的场景。故总结了一下git各个阶段的撤销操作。
总结
撤销工作区改动(未 add)
撤销全部更改
git checkout .
撤销单个文件
git checkout -- [filename]
撤销新增文件
git clean -f
撤销新增目录
git clean -d
撤销暂存区改动(已 add 未 commit)
撤销全部改动
git reset .
或者git reset HEAD
撤销单个
git reset [filename]
撤销本地提交(已commit 未 push)
撤销到上一次提交后
git reset --soft HEAD^
撤销到某次提交
git reset --soft [HEAD]
完全撤销且不保留改动文件
git reset --hard [HEAD]
撤销远程改动(已push)
正常新增commit(git revert或者 直接commit)
本地reset,push -f 强推覆盖。
后续
git 作为当前最流行的版本控制工具,还有许多的操作与使用场景。后面会介绍git系列的使用场景与对应的操作。