【Git第十節】版本回退
歡迎大家來到自學Python編程教室,上一講我們學習了如何撤銷修改,這一講我們學習版本回退的操作,你準備好了嗎?
上次說到,如果你已經提交了代碼,但是又后悔了,想要放棄這次的改動,回到之前的版本。這時候就需要做版本回退。
我們先在工作目錄中運行 git log 命令,看看到目前為止的提交記錄:
commit 81e34d1d269b13bb23619d828495119492eabc5a Author: Crossin Date: Thu Nov 28 17:27:34 2013 +0800 remove file commit 1edcbf15f45359768b3fa9cd99ddddde792912fe Author: Crossin Date: Thu Nov 28 15:16:37 2013 +0800 add file to be deleted commit 15547cb5e6bb661a4b9934c1ea55fe0aeceb0682 Author: Crossin Date: Tue Nov 26 14:39:06 2013 +0800 test file status commit c1310cffd37c4b7fe765986035e54a3c27c2887f Author: Crossin Date: Tue Nov 26 14:11:46 2013 +0800 init readme
也許你的提交歷史和我不一樣,這沒關系。
還記得我們前面課里說過的 HEAD,它指向的是最新的提交。而上一次的提交就是 HEAD^,上上次是 HEAD^^,也可以寫成 HEAD~2,以此類推。之前30次版本就是 HEAD~30,或者你愿意也可以打30個^。
要回退上一個版本,只要:
git reset --hard HEAD^
--hard 表示放棄所有的本地改動,其他的可選模式我們先不管。
輸出提示:
HEAD is now at 1edcbf1 add file to be deleted
HEAD 已經被移動回“add file to be deleted”這個版本。
如果想要移動到某個指定的提交,也可以直接使用提交id,就是 git log 里,commit 后面的一串字符(你的版本中的提交 id 和我是不一樣的)。
git reset --hard 15547
id 不用輸全,前幾位就夠,git 會自動去找匹配的提交。然后就可以看到:
HEAD is now at 15547cb test file status
順便說一下,你可以使用 git 里自帶的圖形化客戶端 gitk 來查看和管理版本變動。在命令行里輸入 gitk,mac 上是 gitx,就可以打開(如果不幸沒有打開,可能你需要另行安裝以下)。
回退前:
回退后:
注意,當用 git reset --hard 回退版本后,所有的本地未提交改動將被舍棄,而被回退掉的版本也不再出現在記錄里(雖然還是可以被找回來)。所以在使用此操作時請慎重考慮。
恭喜您在Python自學的道路上又堅持了一天,今天跟大家聊的如何進行版本回退的相關內容,你都學會了嗎?
好啦,今天的分享到這里就結束了,希望大家持續關注馬哥教育官網,每天都會有大量優質內容與大家分享!
聲明:文章來源于網絡,侵刪!