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