如何刪除遠端已經推送的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