GIT | 操作 - [回退]
目录
git 主要有 3 种回退操作
- checkout
- reset
- revert
git 工作区(工作目录)/暂存区(index)/本地库(master)的关系如下图所示
此图再右面就是远程库了

从修改到推到远程库的阶段,及其回退方法
| 阶段 | 修改所在位置 | 指令操作 | idea操作 |
|---|---|---|---|
| 修改 | 工作区 | checkout | git->rollback |
| add | 暂存区 | reset head mixed | git->reset head mixed |
| commit | 本地库 | reset head hard | git->reset head hard |
| push | 远程库 | revert & push | git->revert & git->push |
reset 不同模式的区别
- soft:只修改 head 指针
- mixed:修改 head 指针,重置暂存区
- hard:修改 head 指针,重置暂存区 和 工作区
reset VS reset VS reapply
reset:移动分钟指针,忽略已有的 commit,已经出现的commit会消失
revert:创建一个新提交,与最后的一次或几次提交相反,使他们抵消。最终内容会回退但提交历史还是存在的。revert 会生成一个 "revert:xxx" 提交
reapply:即对 "revert:xxx" 提交再次 revert,即重新接受被 revert 的提交
git 文件颜色的说明
正常:本地库
红:有修改
绿:进入暂存区
浙公网安备 33010602011771号