當前位置: 妍妍網 > 碼農

Git 如何撤回已 Push 的程式碼

2024-02-28碼農

推薦關註

掃碼關註 後端架構師 」,選擇 星標 公眾號

重磅幹貨,第一時間送達!

責編:架構君 | 來源:https://cnblogs.com/fnz0/p/15803011.html

上一篇好文:

正文

大家好,我是後端架構師。

在日常的開發中,我們經常使用Git來進行版本控制。有時候,我們可能會不小心將錯誤的程式碼 Push 到遠端倉庫,或者想要在本地回退到之前的某個版本重新開發。

或者像我一樣,寫了一些感覺以後很有用的最佳化方案push到線上,又接到了一個新的需求。但是呢,計畫比較重要,沒有經過測試的方案不能輕易上線,為了承接需求只能先把push上去的最佳化方案先下掉。

現在我的分支是這樣的,我想要在本地和遠端倉庫中都恢復到 help文件送出 的部份。

最簡單粗暴的方法

如果你的錯誤程式碼不是很多,那麽你其實可以透過與你想要恢復到的 commit 進行對比,然後手動刪除錯誤程式碼,然後刪除不同的程式碼。

按住 ctrl 選擇想要對比的兩個commit,然後選擇 Compare Versions 就能透過對比刪除掉你想要刪除的程式碼。

這個方案在程式碼很簡單時時非常有效的,甚至還能透過刪除後最新commit和想要退回的commit在 Compare 一下保障程式碼一致。

但是這個方法對於程式碼比較復雜的情況來說就不太好處理了,如果涉及到繁雜的配置檔,那更是讓人頭疼。

而且,這樣還會 保留錯誤送出的記錄 ,對於有強迫癥的我來說,有點接受不能。對此,git也有一套較為優雅的操作流程,同樣能解決這個問題。

IDEA 中 Git 較為優雅的方法

1. Reset Current Branch 到你想要恢復的commit記錄

這個時候會跳出四個選項供你選擇,我這裏是選擇 hard

其他選項的含義 僅供參考 ,因為我也沒有一一嘗試過。

  1. Soft :你之前寫的不會改變,你之前暫存過的檔還在暫存。

  2. Mixed :你之前寫的不會改變,你之前暫存過的檔不會暫存。

  3. Hard :檔恢復到所選送出狀態,任何更改都會遺失。 你已經送出了,然後你又在本地更改了,如果你選hard,那麽送出的內容和你送出後又本地修改未送出的內容都會遺失。

  4. keep :任何本地更改都將遺失,檔將恢復到所選送出的狀態,但本地更改將保持不變。 你已經送出了,然後你又在本地更改了,如果你選keep,那麽送出的內容會遺失,你送出後又本地修改未送出的內容不會遺失。

然後,之前錯誤送出的commit就在本地給幹掉了。但是遠端倉庫中的送出還是原來的樣子,你要把目前狀態同步到遠端倉庫。 也就是需要把那幾個commit刪除的操作push過去。另外,搜尋公眾號Linux就該這樣學後台回復「猴子」,獲取一份驚喜禮包。

開啟push界面,雖然沒有commit需要送出,需要點選 Force Push ,強推過去。

需要註意的是對於一些被保護的分支,這個操作是不能進行的。需要自行檢視配置,我這裏因為不是master分支,所以沒有保護。

可以看到,遠端倉庫中最新的commit只有我們的 help文件 。在其上的三個送出都沒了。

註意: 以上使用的是2023版IDEA,如果有出入的話可以考慮搜尋使用git命令。

你還有什麽想要補充的嗎?

最後,再次推薦下我們的AI星

為了跟上AI時代我幹了一件事兒,我建立了一個知識星球社群:ChartGPT與副業。想帶著大家一起探索 ChatGPT和新的AI時代

有很多小夥伴搞不定ChatGPT帳號,於是我們決定,凡是這三天之內加入ChatPGT的小夥伴,我們直接送一個正常可用的永久ChatGPT獨立帳戶。

不光是增長速度最快,我們的星球品質也絕對經得起考驗,短短一個月時間,我們的課程團隊釋出了 8個專欄、18個副業計畫

簡單說下這個星球能給大家提供什麽:

1、不斷分享如何使用ChatGPT來完成各種任務,讓你更高效地使用ChatGPT,以及副業思考、變現思路、創業案例、落地案例分享。

2、分享ChatGPT的使用方法、最新資訊、商業價值。

3、探討未來關於ChatGPT的機遇,共同成長。

4、幫助大家解決ChatGPT遇到的問題。

5、 提供一整年的售後服務,一起搞副業

星球福利:

1、加入星球4天後,就送ChatGPT獨立帳號。

2、邀請你加入ChatGPT會員交流群。

3、贈送一份完整的ChatGPT手冊和66個ChatGPT副業賺錢手冊。

其它福利還在籌劃中... 不過,我給你大家保證,加入星球後,收獲的價值會遠遠大於今天加入的門票費用 !

本星球第一期原價 399 ,目前屬於試營運,早鳥價 139 ,每超過50人漲價10元,星球馬上要來一波大的漲價,如果你還在猶豫,可能最後就要以 更高價格加入了 。。

早就是優勢。 建議大家盡早以便宜的價格加入!

歡迎有需要的同學試試,如果本文對您有幫助,也請幫忙點個 贊 + 在看 啦!❤️

在 還有更多優質計畫系統學習資源,歡迎分享給其他同學吧!

PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發、在看。

最後給讀者整理了一份BAT大廠面試真題,需要的可掃碼加微信備註:「面試」獲取。

版權申明:內容來源網路,版權歸原創者所有。除非無法確認,我們都會標明作者及出處,如有侵權煩請告知,我們會立即刪除並表示歉意。謝謝!

END

最近面試BAT,整理一份面試資料【Java面試BAT通關手冊】,覆蓋了Java核心技術、JVM、Java並行、SSM、微服務、資料庫、數據結構等等。在這裏,我為大家準備了一份2021年最新最全BAT等大廠Java面試經驗總結。

別找了,想獲取史上最全的Java大廠面試題學習資料

掃下方二維碼回復面試就好了

歷史好文:

掃碼關註後端架構師」,選擇星標公眾號

重磅幹貨,第一時間送達

,你在看嗎?