git 版本回退


轉載:https://www.cnblogs.com/aligege/p/10221174.html

使用git開發的過程中,存在誤提交的時候怎么辦呢?不用慌張,強大的git提供了兩種版本回退的方式,可以讓你恢復提交之前的內容:

方式一:reset(不推薦)

通過reset的方式,把head指針指向之前的某次提交,reset之后,后面的版本就找不到了

操作步驟如下:

1、在gitlab上找到要恢復的版本號,如:

139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

2、在客戶端執行如下命令(執行前,先將本地代碼切換到對應分支):

git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

3、強制push到對應的遠程分支(如提交到develop分支)

git push -f -u origin develop

OK,現在到服務器上看到的代碼就已經被還原回去了。這種操作存在一個問題,服務器上的代碼雖然被還原了,但假如有多個人在使用,他們本地的版本依然是比服務器上的版本高的,所以,別人再重新提交代碼的話,你撤銷的操作又會被重新,你上面的操作也就白操作了。解決辦法是,讓別人把本地的分支先刪掉,然后重新從服務器上拉取分支

 

 

方式二:revert(推薦)

這種方式不會把版本往前回退,而是生成一個新的版本。所以,你只需要讓別人更新一下代碼就可以了,你之前操作的提交記錄也會被保留下來

 

操作步驟如下:

1、找到你誤提交之前的版本號

2、git revert -n 版本號

3、git commit -m xxxx 提交

4、git push 推送到遠程

OK,版本還原了,通知其他人更新一下代碼吧

 

這個時候突然又發現不需要回退了,剛才那些消失的代碼又要重新找回來了,別擔心,咱們 Git 強大着呢!

 git reflog

    • 定義:查看命令操作的歷史
       

       

       


      查找到你要的 操作id,依舊使用 上文說的 git reset --hard id。又回退到當初一模一樣的版本啰!

 

 

轉載 https://www.cnblogs.com/aligege/p/10221174.html


免責聲明!

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



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