首先要了解一下commit的流程:修改(包括新增檔案) --> add --> commit --> push
具體分為以下三種情況,
一 已經修改了,還沒add
git checkout *** # ***可以是單個檔名,多個檔名,某個目錄
二 已經commit了,還沒push
ps:以上命令都是對最近一次commit的操作,如果想對最近多次commit進行操作,只需要改變head~後的數字就行了
git reset --soft head~3 # 回退最近三次commit
三 已經push了
先檢視commit對應的id,
git log --oneline
然後使用git revert
git revert *** # ***就是commit對應的id
或者
git revert head~3 # revert最近三次的commit
注意,revert不會保留修改的部分
ps:revert會提交乙個revert的commit,這樣在history上就會記錄一筆,使用git log可以檢視到
git常用指令 github版本回退 reset
1 git reset mixed 此為預設方式,不帶任何引數的git reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊 2 git reset soft 回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果還要提交,直接co...
git回退版本
把檔案從暫存區域或歷史記錄中複製到工作目錄,用來丟棄本地修改。git reset files 用來撤銷最後一次git add files,你也可以用git reset 撤銷所有暫存區域檔案。git reset option commitid 用來撤銷歷史記錄,option選項 soft,hard,m...
git回退版本
有些時候我們提交的遠端 最新的 也許還不如上次寫的好,於是我們就想回退到以前的版本。那麼怎麼回退呢 對了,回退之前還是先備份下。1 2 3 git log 檢視提交的歷史 git log pretty oneline 如果嫌上面的輸出資訊過多可以使用這條 只輸出版本號 git reset hard ...