Git 版本回退及重新提交(踩坑)
2020-05-29 本文已影响0人
是彬不是杉
原文链接: https://www.whongbin.cn/article-detail/141.html
前言
今天在开发中,出现了一个灵异现象,整个项目由于我添加了一个软链,结果站点崩溃了,但是更令我崩溃的是我在删除该软链后,项目竟然还是无法运行,还好仓库中最近的代码是10分钟前提交的,于是果断回滚操作.期间有些踩坑的地方,记录下来,共勉
查看历史版本
git log
历史版本
指定回滚版本
git reset --hard HEAD^
需要注意的是:
^
为回滚版本号,^
就是上一个版本,^^
就是倒序第二个版本 ,^^^
就是倒序第三个版本...
但是如果要回退到前100次提交的话 肯定不能写100个
^
了吧,这种情况可以使用以下命令,后面的100就是倒序的第N个版本
git reset --hard HEAD~100
代码回滚后再进行提交
git add -A //暂存文件
git commit -m '升级typo3内核至v9.5.18' //提交说明
push -u origin master //填写用户名密码进行提交
后记
踩坑
在执行push -u origin master
命令后提示以下错误
error: failed to push some refs to 'https://github.com/WHBLeer/erp.whongbin.com.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
经查询得知出现这个错误的原因是 当前提交版本低于git主版本
解决办法
push -u origin master -f
注意
-
-f
覆盖当前主分支 如果您的仓库只有自己在玩,这个命令可以随意使用 - 如果你是协同开发共用仓库,请务必不要带
-f
参数提交代码,后果不亚于 删库跑路