Git版本回退

原文地址:notes

今天提交的幾個 commit 感覺組織有點混亂,所以準備回退到之前的 commit 版本。因爲用得不多,所以需要記錄下回退過程。

回退之前

在開始回退之前,先說幾句。回退之後還是有後悔藥可吃的,如果你要捨棄的這些 commit 內容很多很重要,也可以先備份一下。最後會有提這個“後悔藥”。

查看歷史版本

首先我們要做的就是查看你的歷史 commit,並獲得你想要回退的 commit_id,就是那個很長的一串數字字母組成的 id。在本地 git 命令行中輸入:

> git log

然後回輸出一堆記錄,在每個 commit 後面的那一長串就是 commit_id 了。找到你想要回退到的版本,記住其 id 前幾位(最好3位以上)即可,git 會自動去找對應的 commit

本地版本回退

首先我們要做的就是回退我們的本地版本。使用 git reset --hard commit_id 命令即可回退到相應的版本。假設我現在要回退到 commit_idd1681f1... 的版本,執行如下命令即可:

> git reset --hard d1681

現在可以查看下我們的本地倉庫,是否文件啥的都回退了。

遠程倉庫版本回退

如果你已經把前面捨棄的幾個 commit 推到了遠程倉庫,那就接着這一步來,如果沒有那可以直接跳過。現在我們的本地倉庫已經回退了,如何讓遠程倉庫也回退到和本地倉庫一樣的版本呢,很簡單,執行如下命令即可:

> git push -f

後悔藥

穩妥點的方式是開一個備份分支並把當前分支的內容備份進去。當然如果你忘了,然後想要回退的話,還是可以做到的。首先執行如下命令,查看所有(包括捨棄了的)歷史版本:

> git reflog

接着找到讓你“後悔”的那個版本,然後怎麼回退我就不重複了:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章