git 回滚
Last updated on November 22, 2024 pm
🧙 Questions
解决项目中代码回滚的问题
☄️ Ideas
命令reset强回滚
使用终端命令行的方式回滚代码,回滚到指定分支,然后回滚
拉取最新分支信息
git fetch
定位回滚分支commitId
可以在github和gitlab的提交历史记录中获取
e7e4611d21e5d091d2b6664475c700f3c00d1205
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)]'
回滚代码
# 只回滚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
🔗 Links
git 回滚
https://ispong.isxcode.com/github/git/git 代码回滚/