git 回滚

Last updated on September 15, 2024 pm

🧙 Questions

解决项目中代码回滚的问题

☄️ Ideas

命令reset强回滚

使用终端命令行的方式回滚代码,回滚到指定分支,然后回滚

拉取最新分支信息
git fetch
定位回滚分支commitId

可以在github和gitlab的提交历史记录中获取
e7e4611d21e5d091d2b6664475c700f3c00d1205

20220712101420

20220712101439

set LESSCHARSET=utf-8
git log --graph --all --date-order --abbrev-commit --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%C(blue)[%H] - %C(yellow)[%s] - %C(green)[操作人<%aN>(%ad)]- %C(red)[提交人<%cN>(%cd)]'

20220712103504

回滚代码
# 只回滚commit,不会回滚缓存和代码,类似重新提交状态
git reset --soft e7e4611d21e5d091d2b6664475c700f3c00d1205

# 不回滚本地代码,只回滚缓存,不会改动代码
# 可以撤销之前写的代码
git reset --mixed e7e4611d21e5d091d2b6664475c700f3c00d1205

# 全部回滚,不同的文件全部删除,恢复到指定分支时的状态
git reset --hard e7e4611d21e5d091d2b6664475c700f3c00d1205
回滚代码提交

NOTE
强回滚,代码提交会有冲突,只能强制提交,会销毁指定分支后面提交的所有记录,谨慎使用,不推荐

git push origin latest -f

命令revert回滚commit

创建新的分支,然后回滚

回滚代码
git fetch
git checkout latest
git pull
git checkout -b revert_latest

git revert e7e4611d21e5d091d2b6664475c700f3c00d1205
git checkout latest
git merge revert_latest
git push origin latest
git branch -D revert_latest

本地代码回滚

git -c core.quotepath=false -c log.showSignature=false reset --hard d6305e808d90359048f2f75fe21c05d04190f97a

git 回滚
https://ispong.isxcode.com/github/git/git 代码回滚/
Author
ispong
Posted on
March 22, 2022
Licensed under