已提交
# 撤销提交,保留修改内容
git reset <commit_id># 撤销提交,不保留修改内容
git reset --hard <commit_id>
已暂存文件
# 撤销单个文件暂存
git reset HEAD <filename># 撤销所有文件/文件夹暂存
git reset HEAD .
已跟踪未暂存文件
# 放弃单个文件
git checkout -- <filename># 放弃所有文件/文件夹
git checkout .
未跟踪文件
# 移除单个为跟踪文件
rm <filename># 移除所有未跟踪文件
git clean -df