适用范围:
1. 作用:
- 将当前分支的头部回滚到经过git操作的某一个版本
2. 场景:
- 批量撤销大量提交
- 还原撤销的git操作
- 即撤销reset操作
梗概:
- 对于当前分支,
git reset 某一个提交撤销(隐藏)这个提交前面的所有提交, 回溯到该提交的当时版本.- 只影响当前一个分支
- 当撤销的提交是其他分支的基本提交记录,则该提交不会被隐藏
- 比如前面的提交被合并到其他分支
- 当然不仅可以回溯到以前的提交, 也可以回溯到未来的提交
- 被隐藏的提交可以通过git的reflog命令找回
- 有三种模式:
- Soft:把原节点和Reset节点之间的所有差异都合并到暂存区中
- Mixed:原节点和Reset节点之间的所有差异都会放到工作目录中,即非暂存区
- Hard:原节点和Reset节点之间的所有差异都全部舍弃
基本概念
child::指定commit
应用:
1. 撤销本地合并
2. 步骤:
- 切换到合并在一起的分支, 这里假设为master
- 用reset回滚到master合并前一个提交
3. 撤销最近的一次改动:
对大多数操作都有效:
git reset --hard orig_head