原文地址: 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_id
爲 d1681f1...
的版本,執行以下命令便可:code
> git reset --hard d1681
如今能夠查看下咱們的本地倉庫,是否文件啥的都回退了。get
若是你已經把前面捨棄的幾個 commit
推到了遠程倉庫,那就接着這一步來,若是沒有那能夠直接跳過。如今咱們的本地倉庫已經回退了,如何讓遠程倉庫也回退到和本地倉庫同樣的版本呢,很簡單,執行以下命令便可:it
> git push -f
穩妥點的方式是開一個備份分支並把當前分支的內容備份進去。固然若是你忘了,而後想要回退的話,仍是能夠作到的。首先執行以下命令,查看全部(包括捨棄了的)歷史版本:class
> git reflog
接着找到讓你「後悔」的那個版本,而後怎麼回退我就不重複了:)文件