reset命令有3種方式:git reset只是在本地倉庫中回退版本,而遠端倉庫的版本不會變化1:git reset –mixed:此為預設方式,不帶任何引數的git
reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊
2:git reset –soft:回退到某個版本,只回退了commit的資訊,不會恢復到index
file一級。如果還要提交,直接commit即可
以刪除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
Git修改提交記錄的順序 刪除某次提交記錄
網上搜尋了很多方法,不一而足,本博文提到的方法,是我認為最容易理解的 每一次提交記錄,都能生成對應的補丁 patch 先生成各個提交記錄的補丁,然後硬回退版本 reset hard 然後按照期望的提交順序,順次打補丁 am 關於補丁之間的衝突,沒有考慮 因為調整的是某個分支上的提交記錄,理論上不會有...
Git 07 git合併某次提交到指定分支
我們通常開發的分支是在 develop 分支上,但在正式分支上有一些緊急的問題 需要修改的時候,我們有時候會在master分支上提交,當希望將 master分支的某次提交合併的到develop分支上的時候,我們可以使用下面的命令.git cherry pick commitid 首先在 master...
git合併某次提交到當前分支
有的時候,在develop分支開發,是大家公用的開發分支,但是只想合併自己提交的到master,如何操作呢?那就要用cherry pick了。語法 git cherry pick commitid首先,git log檢視自己提交的log,找到版本號,如最近的版本號是 9caedb2313425a95...