reset命令有3種方式: 1:git reset –mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息 2:git reset –soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可 3:git reset –hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容
git reset只是在本地倉庫中回退版本,而遠程倉庫的版本不會變化。
以刪除master分支為例
#新建一個備份的分支,數據無價 git branch old_master #提交本地當前的文件到新建的分支 git push origin old_master:old_master #本地可以徹底恢復到你想恢復到的版本了 git reset --hard 58093e1355716f0f861b64f1c3dfe59242be28f7 #在web端settings頁面,修改默認分支為新建的分支,可以刪除遠程分支了 git push origin :master #如果出現! [remote rejected] master (deletion of the current branch prohibited),說明沒有設置遠程的默認分支,沒有權限刪除,請在web端settings頁面,修改默認分支為新建的分支 #進行到這里,遠程的master分支已經刪除成功 #重新提交本地文件到master分支(此時會自動新建master分支) git push origin master #再體驗一下刪除分支 git push origin :old_master
(以上轉自互聯網)