场景:
我commit提交了需求一版01,又commit提交了需求一版02,
因为我这两次提交有共同的文件,我想合并到一版上面,方便看到底哪些文件进行了修改

具体操作1:
命令:git branch && git rev-parse HEAD
结果:* standard ← 当前在 standard 分支
7c0a7ce28aaa2d ← 这是 HEAD 指向的 commit ID(简写为 7c0a7ce)
具体操作2:
命令:git log --oneline -n 3
确认当前commit操作记录
具体操作3:
先确保 HEAD 是 B(第二版)
1.git checkout standard
2.git reset --hard 7c0a7ce # 确保在第二版提交上
回退两步(保留修改),合并为一次提交
git reset --soft HEAD~2
git commit -m "feat: 多数据源功能整合(第一版 + 第二版)"
完成的合并提交分支
注意:
git reset --hard 7c0a7ce
是一条非常强力的 Git 命令,它的核心作用是将你的代码仓库强制回退到哈希值为
7c0a7ce的那个提交状态。
- 移动分支指针(HEAD) :当前所在的分支会直接指向
7c0a7ce这个提交。- 重置暂存区:暂存区的内容会被完全替换成该提交时的状态。
- 覆盖工作区:你当前工作目录下的所有文件也会被强制还原成该提交时的样子。
git reset --soft HEAD~2一条非常安全且常用 的 Git 命令,它的核心作用是撤销最近的两次提交,但完美保留你的代码修改
- 移动分支指针(HEAD):当前所在的分支会回退到倒数第 3 个提交的状态。
- 保留暂存区和工作区 :你最近两次提交的所有代码改动,不仅不会丢失,还会被原封不动地放回暂存区(Staging Area)。