已提交
# 撤销提交,保留修改内容
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