Git重置(Reset)操作詳解:硬重置、軟重置與混合重置

Git中“重置”(Reset)用於撤銷或修改提交歷史,通過調整分支指針和工作區/暫存區狀態實現,初學者常因混淆類型犯錯。其三種常見類型及核心區別如下: **軟重置(--soft)**:僅移動HEAD指針,保留工作區和暫存區,適用於修改提交信息或重新提交(如`git reset --soft HEAD~1`)。 **混合重置(默認--mixed)**:移動HEAD並重置暫存區,保留工作區,適合撤銷提交後重新整理代碼再提交(默認無需參數)。 **硬重置(--hard)**:移動HEAD並徹底重置暫存區和工作區,所有修改永久丟失,僅確認修改無用時使用(如`git reset --hard HEAD~1`),操作不可逆。 關鍵區別:Reset修改歷史(本地未分享適用),Revert創建新提交(已推送時用);硬重置需謹慎,操作前用`git status`確認狀態,未備份修改可通過`reflog`嘗試恢復(僅本地未推送時)。 總結:軟重置輕量改歷史,混合默認常用,硬重置危險需確認

閱讀全文