Git撤回Push到远程的代码

最近写Hexo-MengD(萌典)主题老出现bug不得不使用这些Git指令
而且这些命令不常用,记不住,就记录一下

其他于Git命令相关的文章

  1. Git 解决 (master|MERGING)
  2. Git分支合并(dev合并到master)
  3. Git Pull 拉取的用法

当我们已经把代码push到远程仓库后,突然发现了bug,这时候我们就需要代码回滚了

执行git log命令

COPY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Lete@Lete MINGW64 /d/Lete/GitHub/Hexo-Blog (blog)
$ git log
commit 2f05bec11245b8b9b2355efc2abdfa9a8396db29 (HEAD -> blog, origin/blog)
Author: lete114 <lete@lete114.top>
Date: Thu Feb 4 21:13:33 2021 +0800

更新主题,修复部署时间长的bug

commit a4ba2439ce6bdb7f6190b84579a88519ed555694
Author: lete114 <lete@lete114.top>
Date: Thu Feb 4 20:23:35 2021 +0800

主题更新

## 下面还有就展示了

其中commit 2f05bec11245b8b9b2355efc2abdfa9a8396db29 (HEAD -> blog, origin/blog)是当前提交的最新代码
往下commit a4ba2439ce6bdb7f6190b84579a88519ed555694就是之前或更早前提交的代码
选取其中commit后面的版本号a4ba2439ce6bdb7f6190b84579a88519ed555694执行如下命令即可回滚到主题更新这个版本了

COPY
1
git reset --soft a4ba2439ce6bdb7f6190b84579a88519ed555694

这时由于本地的代码已回滚,已经和远程仓库代码版本不一致了,就得强制push才能推送(这个操作就完成了远程仓库代码的回滚了)

COPY
1
git push origin master --force
Authorship: Lete乐特
Article Link: https://blog.imlete.cn/article/Git-Push-Reset.html
Copyright: All posts on this blog are licensed under the CC BY-NC-SA 4.0 license unless otherwise stated. Please cite Lete乐特 's Blog !