revert命令 将现有的提交还原,恢复提交的内容,并生成一条还原记录
使用git revert 版本号取消分支中某个版本的提交
1、查询commit记录git reflog
2、找到需要取消提交的版本号,例如版本号bb897fd中提交了一句日志代码
执行命令$ git revert bb897fd (非合并提交可以使用)
3、执行命令后版本号bb897fd中的日志代码已被取消,不再出现。(如果多个版本号对同一个地方进行修改,revert操作会出现冲突需要解决)
软回溯,回退 commit 的同时保留修改内容,本地分支使用 git reset --soft 命令并push到远程分支
1、使用git reflog查看提交记录,用命令 git reset --soft {版本号} 回退到对应的版本
2、此时代码回退到该版本状态,后续版本的代码会出现在工作区,显示为未提交状态
此时修改未提交内容,
然后使用 git add .
git commit -m '回退到版本'
3、使用命令$ git push origin {分支} --force 强制推送到远程分支上,如果有其他人在同一个分支上已经推送修改了再次拉取也会被回退,慎用!
硬回溯,回退commit不保留修改,本地分支使用 git reset --hard 命令并push到远程分支
1、使用命令$ git reset --hard {版本号} 回退版本,此时代码回退到该版本状态
2、此时代码回退到该版本状态,后续版本的代码不会出现在工作区
没有未提交的内容,直接使用 git add .
git commit -m '回退到版本'
3、使用命令$ git push origin {分支} --force 强制推送到远程分支上,如果有其他人在同一个分支上已经推送修改了再次拉取也会被回退,慎用!