您好,登錄后才能下訂單哦!
原文來自:http://smaij.com/git-%E7%89%88%E6%9C%AC%E5%9B%9E%E9%80%80/
如果我們修改了文件。提交到github 版本庫后。發(fā)現(xiàn)代碼有點錯亂了。你想要回到上一個或者上兩個版本中去。那么,很幸運,Github 提供有很方便的回滾功能。 我們通過一組實驗來明了。 下面我commit 了三個版本。修改一個叫 test.php 的文件。 版本1:version 1.0
第一次修改的時候。 **********************
版本2:version 2.0
第二次修改的時候。 **********************
版本3:version 3.0
第三次修改的時候。 **********************
版本控制系統(tǒng)一個很重要的功能,當(dāng)然就是管理各個版本間的問題了。Git 也是為了處理這個問題而誕生的,Git 中有一個命令可以查看歷史記錄。就是 git log 這個命令了。
這個命令顯示的是提交的記錄,在這里我修改了三次后提交了三次。最近一次是version 3.0 ,最早一次是version 1.0 。 到這里。你首先要知道你現(xiàn)在所處的是那個版本,如何回到那個版本。 在Git 中,使用命令 git reset 來操作進退。參數(shù) HEAD 表示當(dāng)前的版本,假如你當(dāng)前已經(jīng)退回到了version 2.0 版本。那么你使用
git reset --hard HEAD
則會返回version 2.0 的版本ID
2d9a6407f9becba08ce46ae55035e0c7f71da8b1
要回到當(dāng)前版本的上一個版本去。就是用
git reset --hard HEAD^
在 HEAD^^ 表示退回到兩個版本前。有多少個^ 就是退回到多少個版本去,如果不幸要退后25個版本。你也可以
git reset --hard HEAD~25
好,退回來了。突然發(fā)現(xiàn)問題原來是最新版一個文件中缺少了一個 ‘;’。此時怎么辦。還能回去嗎? 能! 在用 git log 看到的版本中。最新的那些版本已經(jīng)不在了。怎么辦? github 已經(jīng)意料到我們會疏忽。于是。他幫我們記錄了我們的操作……感謝! 使用 git reflog 來查看你的每一次命令操作記錄
這就好辦了。我要回到version 3.0 去。
好了好了。太好了 總結(jié):
HEAD 指向的是當(dāng)前的版本ID 。我們也可以使用它來穿梭到上下的版本去。
使用git log 可以看到我們git中的提交、回退、版本ID 等信息
使用git reflog 查看命令歷史。使用它來挽救過度回退
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。