Git 版本回退及重新提交(踩坑)

原文链接: 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 参数提交代码,后果不亚于 删库跑路

你可能感兴趣的:(Git 版本回退及重新提交(踩坑))