git reset
git reset用于回退到之前某个提交的版本,并遗弃那个版本之后提交的版本
执行遗弃时,需要根据影响的范围而指定不同的参数,可以指定是否复原索引或工作树内容
常见参数如下:
-
–mixed(默认):默认的时候,只有暂存区变化
-
–hard参数:使用 --hard 参数,工作区也会变化
-
–soft:使用 --soft 参数,暂存区和工作区都不会变化
使用
- 在需要修改的分支输入git log查看历史版本号
- 使用“git reset --hard 目标版本号”命令将版本回退到指定版本
再用“git log”查看版本信息,此时本地的HEAD已经指向之前的版本,已经回退到指定版本 - 使用“git push -f”提交更改:
此时如果用“git push”会报错,因为本地库HEAD指向的版本比远程库的要旧,所以用“git push -f”强制推送
git revert
git revert 撤销某次操作,此次操作之前和之后的 commit和history都会保留,并且把这次撤销,作为一次最新的提交
使用
- git log 查看历史版本号
- 使用“git revert -n 版本号”重做,并使用“git commit -m 版本名”提交:
- 提交,使用“git commit -m 版本名”
- 使用“git push”推送到远程库。