如何删除远端已经推送的Commit记录???(Git版本回退)
简单描述
突然事件:刚刚,就在刚刚,发生误了操作。
操作描述:我把修改的文件保存错分支了,已经commit了。并且还push上去了。对,没错已经Push上去了。
事后分析:现在我就想 把远端分支里的Commit记录删掉。
结果如何:肯定是成功了。所以在此记录一下,以免有同样遭遇的小伙伴惊慌失措。
提前剧透:这里用到的核心Git命令语句是,git push origin <分支名> --force
重点分析:就是这个 --force 参数,强制推送,不管你有没有版本回退的记录。(不用这个参数,就会提示你,还有未Commit的记录,或者是什么,反正就是不让你推送)
核心思想:回退到指定的版本,再推送一下覆盖掉之前的Commit。
操作步骤:
第一步:获取到你想要回退到那个版本号的SHA1值。
第二步,使用SHA1值,进行版本回退。(reset操作)
第三步,提交到远端(--force)
具体描述:(防小白不会操作,毕竟这个问题你都找来了,哈哈)。
第一步:获取到你想要回退到那个版本号的SHA1值。
IDEA可视化操作:
小乌龟可视化操作如下:
右键,show log,选中一条,在下面区域就能看到
命令行操作如下:
git log <本地分支号 or remotes/origin/远端分支号>
第二步,使用SHA1值,进行版本回退。(reset操作)
IDEA可视化操作如下:(git小乌龟,或者是其他工具,请自行查阅如何reset)
输入commit记录对应的SHA1值即可。
Git小乌龟操作如下:
先Show log ,然后选中那条记录,右键,一步到位。
命令行操作如下:
git reset --hard <需要回退到的版本号(只需要输入前几位)>
第三步:PUSH。
命令行操作如下:
git push origin <分支名> --force