Git回退到服務器某個版本正確姿勢


背景:

   Git協作中,成員不可避免地會提交一些錯誤的版本,由於Git相比SVN引入了本地倉庫,操作會相對復雜,以下為姿勢分解

找一個源文件RspUtils.java,加上一行注釋 //測試回退git服務器版本,然后Commit並Push,現在的版本記錄如下(Mac版的SourceTree為例)

 

dd5f51f...就是有問題的版本,現在我們要回退到7a22c8f...版本,選中7a22c8f...版本,點擊右鍵,彈出選項

 

選中,Reset master to this commit,這個就是reset命令啦

 

選擇Hard模式,然后在當前主干上最新的版本記錄上點擊右鍵,繼續選擇Reset master to this commit

 選擇Soft模式

commit + push就完成服務器上版本回退了,最終的版本記錄如下:

 

no message就是我最后commit的版本,由於沒寫注釋,工具自動加的(實際工作中不寫注釋或注釋寫得看不懂是很不好的習慣,必須堅決改正)

 

注意事項: 從第1個圖和最后一個圖可以看到,在第1個圖中,我有沒提交的記錄Uncommited Changes,經過reset hard之后丟失了,所以大家在回退版本時必須保持頭腦清醒,慎用reset hard

整個姿勢(原理)回顧:

reset - hard xxx 放棄本地的修改取服務器的覆蓋掉本地的
rest -soft xxx將本地的指針指向主干最新那個版本
commit
push

 


免責聲明!

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



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