git reset --soft,git reset --hard,git revert的區(qū)別

git reset與git revert的區(qū)別

  • git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。
  • git reset是把HEAD向后移動了一下,而git revert是HEAD繼續(xù)前進,只是新的commit的內(nèi)容和要revert的內(nèi)容正好相反,能夠抵消要被revert的內(nèi)容。

git reset --soft與git reset --hard的區(qū)別

  • git reset --soft命令會讓版本回到某次commit后的狀態(tài),但并不改動工作目錄中的文件,git reset --hard命令將版本庫回退到指定版本后不僅僅是將本地版本庫的頭指針全部重置到指定版本,也會重置暫存區(qū),并且會將工作區(qū)代碼也回退到這個版本。

實際操作

git revert

1.首先在本地庫中,添加三個文件,每添加一個commit一次,得到三個版本。


1

2.然后輸入git revert head命令,發(fā)現(xiàn)新增了一個版本,該版本中只有1.html和2.html,撤銷了第三個版本新添加的3.html。


2

git reset --soft與git reset --hard

1.首先在本地庫中,添加三個文件,每添加一個commit一次,得到三個版本。


1

2.然后輸入git reset --soft HEAD^命令,回滾到上一版本,執(zhí)行后發(fā)現(xiàn)第三個版本也刪除,回滾到第二個版本,此時因為git reset --soft命令只讓版本回到某次commit后的狀態(tài),所以無需再執(zhí)行git add命令,可直接再次執(zhí)行git commit命令,再次回到第三個版本。


2

3.最后輸入git reset --hard HEAD^命令,同樣是回滾到第二個版本,需要重新執(zhí)行git add命令,在執(zhí)行git commit命令才能回到第三個版本。
3
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 安裝Git Git的下載地址:Git官網(wǎng)下載地址 Git本地倉庫和命令 配置用戶 下載完Git后,右鍵會有一個Gi...
    TokyoZ閱讀 4,626評論 1 7
  • 前些日子看了《火鍋英雄》一個荒誕有味的重慶故事,洞子火鍋,巴渝銀行,林里山間的摩天大樓,自由穿行在城市和云間的輕...
    滿分飽閱讀 414評論 0 3
  • 反脆弱第十六章塔勒布講到游戲的價值,說到游戲領域如牌局,事先會有明確的游戲規(guī)則,而在生態(tài)領域,在這里我們不知道規(guī)則...
    周建雄key閱讀 452評論 4 1

友情鏈接更多精彩內(nèi)容