git-02-使用-05-回退
大约 1 分钟约 426 字
git-02-使用-05-回退
版本回退到目标版本,同时可以修改暂存区和工作区的内容状态
git reset 参数 版本
参数
:--soft
:暂存区和工作区的内容不变,为回退前的内容--mixed
:暂存区的内容变为目标版本
提交后的内容;工作区的内容不变,为回退前的内容--hard
:暂存区和工作区的内容变为目标版本
提交后的内容- 注意:
git reset 版本
的方式为--mixed
版本
:回退目标版本的版本号或者版本标志
参数对比总结
命令 | HEAD | 暂存区 | 工作目录 |
---|---|---|---|
git reset --soft | 重置 | 不变 | 不变 |
git reset--mixed | 重置 | 重置 | 不变 |
git reset --hard | 重置 | 重置 | 重置 |
参数使用建议
--soft
:- 合并多个提交为一个(在目标版本到回退前的版本之前的内容认为可以合并为同一版本)
- 修改最后一次提交信息(
git reset --soft HEAD~1 && git commit -m "新信息"
)
--mixed
:- 重新选择要提交的文件(修改后重新
git add
) - 撤销
git add
的误操作
- 重新选择要提交的文件(修改后重新
--hard
:- 彻底放弃本地所有更改
- 回滚到某个干净的历史版本
误用 --hard
的解决办法
# 查看历史记录,找到误操作之前的版本号
git reflog
# 恢复到指定的版本
git reset --hard 版本
版本
版本:版本号与版本标志
版本号
git log
命令下的 commit 对应的乱码
备注:输入版本号可输入前面 4 到 5 位,git 会自动搜寻
版本标志
HEAD
:当前版本HEAD^
:上一个版本HEAD^^
:上上一个版本HEAD~100
:往上 100 个版本