Git版本回退
原文地址:GitHub
今天提交的幾個 commit 感覺組織有點混亂,所以準備回退到之前的 commit 版本。因為用得不多,所以需要記錄下回退過程。
回退之前
在開始回退之前,先說幾句。回退之后還是有后悔藥可吃的,如果你要舍棄的這些 commit 內容很多很重要,也可以先備份一下。最后會有提這個“后悔藥”。
查看歷史版本
首先我們要做的就是查看你的歷史 commit,并獲得你想要回退的 commit_id,就是那個很長的一串數字字母組成的 id。在本地 git 命令行中輸入:
> git log然后回輸出一堆記錄,在每個 commit 后面的那一長串就是 commit_id 了。找到你想要回退到的版本,記住其 id 前幾位(最好3位以上)即可,git 會自動去找對應的 commit。
本地版本回退
首先我們要做的就是回退我們的本地版本。使用 git reset --hard commit_id 命令即可回退到相應的版本。假設我現在要回退到 commit_id 為 d1681f1... 的版本,執行如下命令即可:
> git reset --hard d1681現在可以查看下我們的本地倉庫,是否文件啥的都回退了。
遠程倉庫版本回退
如果你已經把前面舍棄的幾個 commit 推到了遠程倉庫,那就接著這一步來,如果沒有那可以直接跳過。現在我們的本地倉庫已經回退了,如何讓遠程倉庫也回退到和本地倉庫一樣的版本呢,很簡單,執行如下命令即可:
> git push -f后悔藥
穩妥點的方式是開一個備份分支并把當前分支的內容備份進去。當然如果你忘了,然后想要回退的話,還是可以做到的。首先執行如下命令,查看所有(包括舍棄了的)歷史版本:
> git reflog接著找到讓你“后悔”的那個版本,然后怎么回退我就不重復了:)
總結
- 上一篇: js计算工时,去周末,设置上下班时间
- 下一篇: [学习笔记]后缀自动机