git reset 重置当前 HEAD 到指定的状态
git reset 重置当前 HEAD 到指定的状态
git reset [<mode>] [<commit>]
常用
撤销添加
默认mode
为--mixed
。将文件移出缓冲区。
# 添加
git add .
git add <file>
# 撤销
git reset
git reset <file>
撤销提交
mode
为--soft
。保留更改。
# 提交
git commit -a -m 'feat: 这是错误提交。'
# 撤销
git reset --soft HEAD^
放弃本次更改
mode
为--hard
。
git reset --hard
进阶
指定commit
时以下模式表现。
--mixed
: 将当前HEAD
指向指定commit
,丢弃缓冲区,保留工作区;--soft
: 将当前HEAD
指向指定commit
,保留缓冲区与工作区;--hard
: 将当前HEAD
指向指定commit
,丢弃工作区与缓冲区。