Git版本回退

原文地址: GitHub

今天提交的幾個 commit 感受組織有點混亂,因此準備回退到以前的 commit 版本。由於用得很少,因此須要記錄下回退過程。git

回退以前

在開始回退以前,先說幾句。回退以後仍是有後悔藥可吃的,若是你要捨棄的這些 commit 內容不少很重要,也能夠先備份一下。最後會有提這個「後悔藥」。github

查看歷史版本

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

> git log

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

本地版本回退

首先咱們要作的就是回退咱們的本地版本。使用 git reset --hard commit_id 命令便可回退到相應的版本。假設我如今要回退到 commit_idd1681f1... 的版本,執行以下命令便可:code

> git reset --hard d1681

如今能夠查看下咱們的本地倉庫,是否文件啥的都回退了。get

遠程倉庫版本回退

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

> git push -f

後悔藥

穩妥點的方式是開一個備份分支並把當前分支的內容備份進去。固然若是你忘了,而後想要回退的話,仍是能夠作到的。首先執行以下命令,查看全部(包括捨棄了的)歷史版本:class

> git reflog

接着找到讓你「後悔」的那個版本,而後怎麼回退我就不重複了:)文件

相關文章
相關標籤/搜索