git reset三種模式

背景:

公司新人不懂git reset命令,索性就寫寫筆記。

reset簡介:

重置
主要功能:回退到指定版本。
回退版本,表示舊數據將會git工作區域發生變動。

首先我們先了解git共有3個工作區域

  • 1、repository :倉庫,執行commit后產生記錄,會有commit id;
  • 2、index\stage:暫存,執行 git add . 就會添加到stage區域
  • 3、working free:當前工作區域,當新增、修改文件時候,默認就是working free.

當代碼回退的時候,git會根據reset模式將代碼退到到指定工作區域

其次我們要了解reset共有3種模式。

  • 1、hard
  • 2、soft
  • 3、mixed

以下將一一解釋:

git reset --hard 'commit id'
該指令將項目回退到指定版本,回退的版本數據將會repository移除,不會在在stage、working free 目錄保存任何數據。

git reset --soft 'commit id'
該指令將項目回退到指定版本,回退的版本數據會將會從repository移動到stage區域里,如果需要提交,只需要重新commit一次即可。

git reset mixed 'commit id'
git reset 'commit id' = git reset mixed 'commit id'
git reset 默認就是 mixed
該指令會將項目回退到指定版本,回退的版本數據會從repository移動到working tree里。
如果當前狀態有將部分數據放到stage里,那我們執行 git reset 后,會將處于stage里的數據將一起被移動到working free里。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。