GD32H7 MPU Reference — Configuring the 0x0000 Addressing Region
# Backstory I'd previously tried to get networking up on the GD32H7.
遇到 git 误提交的情况,但是还没有上传,该如何回退到上次提交并进行额外的修改。因为本质笨逼每次都要查,让 AI 梳理了最简指导手册。
最常见的需求:误提交了,想退回上次提交、接着改,改完再重新提交。
git reset --soft HEAD~1 # 撤销提交,改动回到「暂存区」 或 git reset HEAD~1 # 撤销提交,改动回到「工作区」(未暂存)
然后你正常改文件 → git add → git commit 重新提交即可
reset 三种模式,记这一个表就够了:
| 命令 | HEAD | 暂存区 | 工作区文件 | 效果 |
|---|---|---|---|---|
| git reset --soft HEAD~1 | 回退 | 保留 | 保留 | 撤销提交,改动还在暂存区 |
| git reset HEAD~1(默认 mixed) | 回退 | 重置 | 保留 | 撤销提交,改动回到未暂存 |
| git reset --hard HEAD~1 | 回退 | 重置 | 清空 | 撤销提交并丢弃改动 |
▎ --hard 会删掉改动,慎用。想「退回上次提交、又要接着改」永远用 --soft 或默认的 mixed。
不需要撤销重来,直接把新改动并进去:
git add 改动的文件 git commit --amend --no-edit # 并入上次提交,消息不变 git commit --amend # 并入 + 顺便改提交消息
HEAD~1 要求至少有 2 次提交。像你这个仓库之前只有 ee01887 一条,HEAD~1 会报错——这时直接 git commit --amend 就行,它天然就是「在这一次提交上改」。
不管用 reset 还是 amend 改错了,历史都没真丢:
git reflog # 列出你所有的 HEAD 移动记录 git reset --hard <某条id> # 回到任意一个时间点
只要没 git gc --prune=now 清掉,reflog 里的提交都能找回。
一句话总结:没 push → 撤销用 git reset --soft HEAD~1,补改用 git commit --amend,改崩了看 git reflog。