idea操作git遠程回滾到某個提交節點或某個版本


場景:同個項目同時開發兩個版本分支,不小心將a版本代碼提交到b版本,想要將代碼會滾到提交前。

通過在網上搜索答案和實踐,總結出以下操作步驟:

1. 項目右鍵后,然后在“Show History”中找到當前版本(暫時取名newVersion)和想要回退到版本(暫時取名oldVersion)

2. 選擇oldVersion版本右鍵點擊“Copy Revision Number”復制oldVersion版本版本號:

3. 然后右擊項目依次選中:Git->Repository->Reset HEAD

4.Reset Type項選擇Hard,To Commit項填寫剛剛復制版本號;然后點擊Reset按鈕

5. 這時本地代碼已經回退到oldVersion,這時候如果直接push到遠程倉庫,會提示版本沖突,點擊“cancel”取消。

6. 下面有兩種解決沖突方法(我選擇第一種)

方法一 :不解決,直接強制提交:
a. 打開Terminal,切換到項目所在目錄
b. 執行:git push -f

方法二:
a. 右擊項目依次選中:Git->Repository->Reset HEAD
b. Reset Type項選擇Mixed, To Commit項填寫最新提交記錄版本號(切記是最新分支版本號newVersion分支);然后點擊Reset按鈕

c. 這時你會發現,最新版本有回到newVersion。但是代碼還是oldVersion代碼,這時候重push到遠程倉庫就不會版本沖突了

此方法代碼回滾 但是分支不會

7. 方法一vs方法二
方法一會將回退提交記錄抹點,而方法二會保留

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM